home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Programming / MUI / MCC_NList / Developer / AutoDocs / MCC_NList.doc < prev    next >
Encoding:
Text File  |  1998-11-30  |  107.5 KB  |  3,077 lines

  1. TABLE OF CONTENTS
  2.  
  3. NList.mcc/NList.mcc
  4. NList.mcc/MUIA_NList_Active
  5. NList.mcc/MUIA_NList_AdjustHeight
  6. NList.mcc/MUIA_NList_AdjustWidth
  7. NList.mcc/MUIA_NList_AutoCopyToClip
  8. NList.mcc/MUIA_NList_AutoVisible
  9. NList.mcc/MUIA_NList_ButtonClick
  10. NList.mcc/MUIA_NList_ClickColumn
  11. NList.mcc/MUIA_NList_Columns
  12. NList.mcc/MUIA_NList_CompareHook
  13. NList.mcc/MUIA_NList_CompareHook2
  14. NList.mcc/MUIA_NList_ConstructHook
  15. NList.mcc/MUIA_NList_ConstructHook2
  16. NList.mcc/MUIA_NList_CopyColumnToClipHook
  17. NList.mcc/MUIA_NList_CopyColumnToClipHook2
  18. NList.mcc/MUIA_NList_CopyEntryToClipHook
  19. NList.mcc/MUIA_NList_CopyEntryToClipHook2
  20. NList.mcc/MUIA_NList_DefaultObjectOnClick
  21. NList.mcc/MUIA_NList_DefClickColumn
  22. NList.mcc/MUIA_NList_DestructHook
  23. NList.mcc/MUIA_NList_DestructHook2
  24. NList.mcc/MUIA_NList_DisplayHook
  25. NList.mcc/MUIA_NList_DisplayHook2
  26. NList.mcc/MUIA_NList_DisplayRecall
  27. NList.mcc/MUIA_NList_DoubleClick
  28. NList.mcc/MUIA_NList_DragColOnly
  29. NList.mcc/MUIA_NList_DragSortable
  30. NList.mcc/MUIA_NList_DragSortInsert
  31. NList.mcc/MUIA_NList_DragType
  32. NList.mcc/MUIA_NList_DropMark
  33. NList.mcc/MUIA_NList_DropType
  34. NList.mcc/MUIA_NList_Entries
  35. NList.mcc/MUIA_NList_EntryClick
  36. NList.mcc/MUIA_NList_EntryValueDependent
  37. NList.mcc/MUIA_NList_Exports
  38. NList.mcc/MUIA_NList_First
  39. NList.mcc/MUIA_NList_ForcePen
  40. NList.mcc/MUIA_NList_Format
  41. NList.mcc/MUIA_NList_Horiz_DeltaFactor
  42. NList.mcc/MUIA_NList_Horiz_Entries
  43. NList.mcc/MUIA_NList_Horiz_First
  44. NList.mcc/MUIA_NList_Horiz_Visible
  45. NList.mcc/MUIA_NList_Imports
  46. NList.mcc/MUIA_NList_Input
  47. NList.mcc/MUIA_NList_InsertPosition
  48. NList.mcc/MUIA_NList_KeepActive
  49. NList.mcc/MUIA_NList_LineHeight
  50. NList.mcc/MUIA_NList_MakeActive
  51. NList.mcc/MUIA_NList_MinColSortable
  52. NList.mcc/MUIA_NList_MinLineHeight
  53. NList.mcc/MUIA_NList_MultiClick
  54. NList.mcc/MUIA_NList_MultiClickAlone
  55. NList.mcc/MUIA_NList_MultiSelect
  56. NList.mcc/MUIA_NList_MultiTestHook
  57. NList.mcc/MUIA_NList_Pool
  58. NList.mcc/MUIA_NList_PoolPuddleSize
  59. NList.mcc/MUIA_NList_PoolThreshSize
  60. NList.mcc/MUIA_NList_PrivateData
  61. NList.mcc/MUIA_NList_Prop_DeltaFactor
  62. NList.mcc/MUIA_NList_Prop_Entries
  63. NList.mcc/MUIA_NList_Prop_First
  64. NList.mcc/MUIA_NList_Prop_Visible
  65. NList.mcc/MUIA_NList_Quiet
  66. NList.mcc/MUIA_NList_SelectChange
  67. NList.mcc/MUIA_NList_ShowDropMarks
  68. NList.mcc/MUIA_NList_SkipChars
  69. NList.mcc/MUIA_NList_SortType
  70. NList.mcc/MUIA_NList_SortType2
  71. NList.mcc/MUIA_NList_SourceArray
  72. NList.mcc/MUIA_NList_SourceInsert
  73. NList.mcc/MUIA_NList_SourceString
  74. NList.mcc/MUIA_NList_StackCheck
  75. NList.mcc/MUIA_NList_TabSize
  76. NList.mcc/MUIA_NList_Title
  77. NList.mcc/MUIA_NList_TitleClick
  78. NList.mcc/MUIA_NList_TitleClick2
  79. NList.mcc/MUIA_NList_TitleMark
  80. NList.mcc/MUIA_NList_TitleMark2
  81. NList.mcc/MUIA_NList_TitleSeparator
  82. NList.mcc/MUIA_NList_TypeSelect
  83. NList.mcc/MUIA_NList_Visible
  84. NList.mcc/MUIA_NList_XXXBackground
  85. NList.mcc/MUIA_NList_XXXPen
  86. NList.mcc/MUIM_NList_Clear
  87. NList.mcc/MUIM_NList_ColWidth
  88. NList.mcc/MUIM_NList_ColToColumn
  89. NList.mcc/MUIM_NList_ColumnToCol
  90. NList.mcc/MUIM_NList_ContextMenuBuild
  91. NList.mcc/MUIM_NList_CopyTo
  92. NList.mcc/MUIM_NList_CopyToClip
  93. NList.mcc/MUIM_NList_CreateImage
  94. NList.mcc/MUIM_NList_DeleteImage
  95. NList.mcc/MUIM_NList_DoMethod
  96. NList.mcc/MUIM_NList_DropDraw
  97. NList.mcc/MUIM_NList_DropEntryDrawErase
  98. NList.mcc/MUIM_NList_DropType
  99. NList.mcc/MUIM_NList_Exchange
  100. NList.mcc/MUIM_NList_GetEntry
  101. NList.mcc/MUIM_NList_GetEntryInfo
  102. NList.mcc/MUIM_NList_GetPos
  103. NList.mcc/MUIM_NList_GetSelectInfo
  104. NList.mcc/MUIM_NList_Insert
  105. NList.mcc/MUIM_NList_InsertSingle
  106. NList.mcc/MUIM_NList_InsertSingleWrap
  107. NList.mcc/MUIM_NList_InsertWrap
  108. NList.mcc/MUIM_NList_Jump
  109. NList.mcc/MUIM_NList_Move
  110. NList.mcc/MUIM_NList_NextSelected
  111. NList.mcc/MUIM_NList_PrevSelected
  112. NList.mcc/MUIM_NList_Redraw
  113. NList.mcc/MUIM_NList_RedrawEntry
  114. NList.mcc/MUIM_NList_Remove
  115. NList.mcc/MUIM_NList_ReplaceSingle
  116. NList.mcc/MUIM_NList_Select
  117. NList.mcc/MUIM_NList_SetColumnCol
  118. NList.mcc/MUIM_NList_Sort
  119. NList.mcc/MUIM_NList_Sort2
  120. NList.mcc/MUIM_NList_Sort3
  121. NList.mcc/MUIM_NList_TestPos
  122. NList.mcc/MUIM_NList_UseImage
  123. NList.mcc/NList.mcc
  124.  
  125.         That MCC public custom class is very similar to the
  126.         MUI's list class.
  127.  
  128.         It handles directly most attributes which are handled
  129.         by Listview in the original couple List/Listview.
  130.  
  131.         The NListview exist anyway to provide a complete
  132.         object with scrollbars, so you should use it as child
  133.         of NListview. Anyway, you can use NList without NListview
  134.         if you don't want any builtin scrollbar.
  135.  
  136.         NOTE: NList class will not work with Listview without
  137.               some conflicts, and NListview class can't use List
  138.               as child but only NList or a NList subclass.
  139.  
  140.               MUIM_NList_TestPos and MUIM_List_TestPos are similar
  141.               but use a different struct to store data.
  142.               MUIM_List_TestPos works like with a List object.
  143.  
  144.         NOTE: Avoid as possible to do many things in MUIM_Show and
  145.               MUIM_Hide methods because when an object is in
  146.               a virtual group, your object will receive them
  147.               for each one of its moves !!!
  148.  
  149.  
  150.     Standard tags with NList special values :
  151.  
  152.         MUIA_Background   has the same meaning than
  153.                           MUIA_NList_ListBackground
  154.                           but only at init.
  155.  
  156.         MUIA_Font         is settable only at init.
  157.                           MUIV_NList_Font, MUIV_NList_Font_Little
  158.                           and MUIV_NList_Font_Fixed are special
  159.                           values usable for it (settable in prefs)
  160.                           but standard values are usable too.
  161.  
  162.         MUIA_Frame        you can override the defaults frames
  163.                           of the classe by setting it, but it will
  164.                           be overrided again by defaults if a
  165.                           set(obj,MUIA_NList_Input,bool) is made after.
  166.                           if MUIA_NList_Input is TRUE then the
  167.                           default is MUIV_Frame_InputList, if FALSE
  168.                           it's MUIV_Frame_ReadList.
  169.  
  170.         MUIA_ContextMenu
  171.         MUIM_ContextMenuBuild
  172.         MUIM_ContextMenuChoice
  173.                           read MUIM_NList_ContextMenuBuild.
  174.  
  175.     Author: Gilles Masson    (c) 1996-1997    email: masson@iut-soph.unice.fr
  176. NList.mcc/MUIA_NList_Active
  177.  
  178.     NAME
  179.         MUIA_NList_Active -- [ISGN], LONG
  180.  
  181.     SPECIAL INPUTS
  182.         MUIV_NList_Active_Off
  183.         MUIV_NList_Active_Top
  184.         MUIV_NList_Active_Bottom
  185.         MUIV_NList_Active_Up
  186.         MUIV_NList_Active_Down
  187.         MUIV_NList_Active_PageUp
  188.         MUIV_NList_Active_PageDown
  189.  
  190.     FUNCTION
  191.         Same function as List.mui/MUIA_List_Active.
  192.  
  193.     SEE ALSO
  194.         MUIA_NList_Entries, MUIA_NList_First, MUIA_NList_Visible
  195. NList.mcc/MUIA_NList_AdjustHeight
  196.  
  197.     NAME
  198.         MUIA_NList_AdjustHeight -- [I..], BOOL
  199.  
  200.     FUNCTION
  201.         Same function as List.mui/MUIA_List_AdjustHeight.
  202.  
  203.         Will adjust the nlist height if the nlist object is in a virtual
  204.         group or if MUIA_NList_SourceInsert, MUIA_NList_SourceString,
  205.         MUIA_NList_SourceArray or MUIA_List_SourceArray was used.
  206.  
  207.         When the object is in a virtual group, a re-layout of this one
  208.         will be forced when the entries number of the NList object change,
  209.         so all entries should always be visible.
  210.  
  211.     DEFAULT
  212.         FALSE
  213.  
  214.     SEE ALSO
  215.         MUIA_List_AdjustHeight, MUIA_NList_AdjustWidth
  216. NList.mcc/MUIA_NList_AdjustWidth
  217.  
  218.     NAME
  219.         MUIA_NList_AdjustWidth -- [I..], BOOL
  220.  
  221.     FUNCTION
  222.         Same function as List.mui/MUIA_List_AdjustWidth.
  223.  
  224.         Will adjust the nlist width if the nlist object is in a virtual
  225.         group or if MUIA_NList_SourceInsert, MUIA_NList_SourceString,
  226.         MUIA_NList_SourceArray or MUIA_List_SourceArray was used.
  227.  
  228.     DEFAULT
  229.         FALSE
  230.  
  231.     SEE ALSO
  232.         MUIA_List_AdjustWidth, MUIA_NList_AdjustHeight
  233. NList.mcc/MUIA_NList_AutoCopyToClip
  234.  
  235.     NAME
  236.         MUIA_NList_AutoCopyToClip -- [IS.], BOOL
  237.  
  238.     FUNCTION
  239.         If set to TRUE you can copy the selected area to the
  240.         clipboard 0 with Amiga-C and Amiga-X (Amiga-X because
  241.         i have seen that sometimes Amiga-C is a shortcut !).
  242.         (work with both Right-Amiga and Left-Amiga keys)
  243.  
  244.     DEFAULT
  245.         TRUE
  246.  
  247.     SEE ALSO
  248.         MUIA_NList_CopyColumnToClipHook, MUIA_NList_CopyEntryToClipHook,
  249.         MUIM_NList_CopyToClip
  250. NList.mcc/MUIA_NList_AutoVisible
  251.  
  252.     NAME
  253.         MUIA_NList_AutoVisible -- [ISG], BOOL
  254.  
  255.     FUNCTION
  256.         Same function as List.mui/MUIA_List_AutoVisible.
  257.  
  258.         Seting this to TRUE, the NList object will automatically and
  259.         always jump to show the active entry.
  260.  
  261.     DEFAULT
  262.         FALSE
  263.  
  264.    SEE ALSO
  265.         MUIA_List_AutoVisible, MUIA_NList_Active
  266. NList.mcc/MUIA_NList_ButtonClick
  267.  
  268.     NAME
  269.         MUIA_NList_ButtonClick -- [..GN], LONG
  270.  
  271.     FUNCTION
  272.         You'll get a notify on it each time the user
  273.         clicks one of the buttons made by ESC O[...@<n>] or ESC o[...@<n>].
  274.  
  275.         The returned value is the <n> of the clicked image/object.
  276.         (see MUIA_NList_DisplayHook for more).
  277.  
  278.         If you get that value later, it will still be <n> of the latest
  279.         image/object clicked that you'll get.
  280.  
  281.     SEE ALSO
  282.         MUIA_NList_DisplayHook, MUIA_NList_DoubleClick, MUIA_NList_MultiClick,
  283.         MUIA_NList_EntryClick, MUIA_NList_TitleClick.
  284. NList.mcc/MUIA_NList_ClickColumn
  285.  
  286.     NAME
  287.         MUIA_NList_ClickColumn -- [..G], LONG
  288.  
  289.     FUNCTION
  290.         Same function as Listview.mui/MUIA_Listview_ClickColumn.
  291.  
  292.     SEE ALSO
  293.         MUIA_Listview_ClickColumn, MUIA_NList_DefClickColumn
  294. NList.mcc/MUIA_NList_Columns
  295.  
  296.     NAME
  297.         MUIA_NList_Columns -- [ISGN], BYTE *
  298.  
  299.     FUNCTION
  300.         With this tag you can set/get the visible order of columns (as if changed
  301.         by the user). It work for all columns in one time (use MUIM_NList_SetColumnCol
  302.         if you want to exchange 2 columns).
  303.  
  304.         The value is a pointer on an BYTE array, each byte is for a column
  305.         (in the visible order) and have the value of the display hook col
  306.         which have to be displayed in it.
  307.  
  308.         The array must be ended with a -1 value.
  309.  
  310.     NOTE
  311.         The returned array is always the same :  it's its contents which change.
  312.  
  313.         You can set your own array or modify the returned one and set it, both
  314.         is ok.
  315.  
  316.         In future it will be possible to have <-1 values for hidden columns
  317.         (it's not yet implemented but you should skip those values).
  318.  
  319.     SEE ALSO
  320.         MUIM_NList_SetColumnCol, MUIM_NList_ColToColumn, MUIM_NList_ColumnToCol
  321. NList.mcc/MUIA_NList_CompareHook
  322.  
  323.     NAME
  324.         MUIA_NList_CompareHook -- [IS.], struct Hook *
  325.  
  326.     FUNCTION
  327.         Same function as List.mui/MUIA_List_CompareHook.
  328.  
  329.     SEE ALSO
  330.         MUIA_NList_ConstructHook, MUIA_NList_DestructHook
  331. NList.mcc/MUIA_NList_CompareHook2
  332.  
  333.     NAME
  334.         MUIA_NList_CompareHook2 -- [IS.], struct Hook *
  335.  
  336.     FUNCTION
  337.         Same function as MUIA_NList_CompareHook but A2 will be the object
  338.         and A1 a NList_CompareMessage struct pointer.
  339.  
  340.     EXAMPLES
  341.         See NList-Demo program.
  342.  
  343.     SEE ALSO
  344.         MUIA_NList_CompareHook
  345. NList.mcc/MUIA_NList_ConstructHook
  346.  
  347.     NAME
  348.         MUIA_NList_ConstructHook -- [IS.], struct Hook *
  349.  
  350.     FUNCTION
  351.         Same function as List.mui/MUIA_List_ConstructHook.
  352.  
  353.         Think to finish lines entries on a \0 , \n and \r.
  354.         The list will not display anything which come after
  355.         a \n , \r or \0, so finish lines entries on a \0, \r
  356.         and \n if you dont want to waste memory.
  357.  
  358.     SPECIAL INPUTS
  359.         MUIV_NList_ConstructHook_String
  360.  
  361.         It's a builtin hook that copy a string entry.
  362.         (so original string can be trash after)
  363.         you must set MUIV_NList_DestructHook_String
  364.         too if you use it.
  365.  
  366.     SEE ALSO
  367.         MUIA_NList_DestructHook, MUIA_NList_DisplayHook
  368. NList.mcc/MUIA_NList_ConstructHook2
  369.  
  370.     NAME
  371.         MUIA_NList_ConstructHook2 -- [IS.], struct Hook *
  372.  
  373.     FUNCTION
  374.         Same function as MUIA_NList_ConstructHook but A2 will be the object
  375.         and A1 a NList_ConstructMessage struct pointer.
  376.  
  377.     SEE ALSO
  378.         MUIA_NList_ConstructHook
  379. NList.mcc/MUIA_NList_CopyColumnToClipHook
  380.  
  381.     NAME
  382.         MUIA_NList_CopyColumnToClipHook -- [IS.], struct Hook *
  383.  
  384.     FUNCTION
  385.         This hook will be called while a MUIM_NList_CopyToClip
  386.         for each column string. You'll certainly get in entry
  387.         a string given by your own MUIA_NList_DisplayHook/2, so
  388.         you must not use the same buffer for both !
  389.  
  390.         You'll get the entry num in -1 element of the given array,
  391.         elements 1 and 2 are the positions of the first selected
  392.         char and the last+1.
  393.  
  394.         You must return the pointer of the string to copy to
  395.         clipboard in element 0, a the string length in element 1.
  396.  
  397.         The builtin hook skip all ESC chars plus their next char
  398.         (and [...] for ESC-P, ESC-I, ESC-O and ESC-o), and add a
  399.         tab char between columns.
  400.  
  401.     SEE ALSO
  402.         MUIM_NList_CopyToClip, MUIA_NList_CopyEntryToClipHook,
  403.         MUIA_NList_DisplayHook
  404. NList.mcc/MUIA_NList_CopyColumnToClipHook2
  405.  
  406.     NAME
  407.         MUIA_NList_CopyColumnToClipHook2 -- [IS.], struct Hook *
  408.  
  409.     FUNCTION
  410.         Same function as MUIA_NList_CopyColumnToClipHook but A2 will be the object
  411.         and A1 a NList_CopyColumnToClipMessage struct pointer.
  412.  
  413.     SEE ALSO
  414.         MUIA_NList_CopyColumnToClipHook
  415. NList.mcc/MUIA_NList_CopyEntryToClipHook
  416.  
  417.     NAME
  418.         MUIA_NList_CopyEntryToClipHook -- [IS.], struct Hook *
  419.  
  420.     FUNCTION
  421.         This work near like MUIA_NList_DisplayHook, execpt
  422.         that it is not called when the NList object want to
  423.         display its lines but when it want to copy them
  424.         to clipboard (or other). See MUIM_NList_CopyToClip.
  425.  
  426.         You can return only one string pointer (only one
  427.         column for copy), as element 0 of the array.
  428.  
  429.         The -1 element is the entry number only when
  430.         you don't give a entry pointer to NList_CopyToClip method,
  431.         else it's -1.
  432.  
  433.         Elements 1,2,3 and 4 of the given array are first column/pos
  434.         and last column/pos which are selected.
  435.         Elements 5 and 6 are 2, 1 or 0 when the 1th and 3rd pos are
  436.         in the format preparse string, the special entry preparse string
  437.         or in the normal string for that entry/columns.
  438.  
  439.         For column, -1 is the first and -2 the last, else it's its number.
  440.         This is the number of displayed columns and not the corresponding
  441.         entry in the array return by DisplayHook. Anyway, positions are
  442.         calculated from strings returned by DisplayHook.
  443.  
  444.         For pos, -1 is left of column and -2 its end. The last pos should
  445.         not be included.
  446.  
  447.         You should use MUIA_NList_CopyColumnToClipHook unless you don't
  448.         want to be copied what is seen in the list.
  449.  
  450.     SEE ALSO
  451.         MUIM_NList_CopyToClip, MUIA_NList_CopyColumnToClipHook,
  452.         MUIA_NList_DisplayHook
  453. NList.mcc/MUIA_NList_CopyEntryToClipHook2
  454.  
  455.     NAME
  456.         MUIA_NList_CopyEntryToClipHook2 -- [IS.], struct Hook *
  457.  
  458.     FUNCTION
  459.         Same function as MUIA_NList_CopyEntryToClipHook but A2 will be the object
  460.         and A1 a NList_CopyEntryToClipMessage struct pointer.
  461.  
  462.     SEE ALSO
  463.         MUIA_NList_CopyEntryToClipHook
  464. NList.mcc/MUIA_NList_DefaultObjectOnClick
  465.  
  466.     NAME
  467.         MUIA_NList_DefaultObjectOnClick -- [IS.], BOOL
  468.  
  469.     FUNCTION
  470.         If set to TRUE, the NList object will become the
  471.         MUIA_Window_DefaultObject of its window when you
  472.         click on it, so the user will be able to control
  473.         the list with keys. The MUIA_Window_ActiveObject
  474.         will be set to None, unless the current active
  475.         object is the NList one itself or if it's the
  476.         MUIA_NList_KeepActive one.
  477.  
  478.         There is a special meaning if you use both
  479.         DefaultObjectOnClick and MUIA_NList_MakeActive.
  480.         (see MUIA_NList_MakeActive)
  481.  
  482.     DEFAULT
  483.         TRUE
  484.  
  485.     SEE ALSO
  486.         MUIA_NList_KeepActive,MUIA_NList_MakeActive
  487. NList.mcc/MUIA_NList_DefClickColumn
  488.  
  489.     NAME
  490.         MUIA_NList_DefClickColumn -- [ISG], LONG
  491.  
  492.     FUNCTION
  493.         Same function as Listview.mui/MUIA_Listview_DefClickColumn.
  494.  
  495.     SEE ALSO
  496.         MUIA_Listview_DefClickColumn, MUIA_NList_ClickColumn
  497. NList.mcc/MUIA_NList_DestructHook
  498.  
  499.     NAME
  500.         MUIA_NList_DestructHook -- [IS.], struct Hook *
  501.  
  502.     FUNCTION
  503.         Same function as List.mui/MUIA_List_DestructHook.
  504.  
  505.     SPECIAL INPUTS
  506.         MUIV_NList_DestructHook_String
  507.  
  508.         It's a builtin hook that free the string entry
  509.         previously allocated and copied by
  510.         the MUIV_NList_ConstructHook_String builtin hook.
  511.  
  512.     SEE ALSO
  513.         MUIA_NList_ConstructHook, MUIA_NList_DisplayHook
  514. NList.mcc/MUIA_NList_DestructHook2
  515.  
  516.     NAME
  517.         MUIA_NList_DestructHook2 -- [IS.], struct Hook *
  518.  
  519.     FUNCTION
  520.         Same function as MUIA_NList_DestructHook but A2 will be the object
  521.         and A1 a NList_DestructMessage struct pointer.
  522.  
  523.     SEE ALSO
  524.         MUIA_NList_DestructHook
  525. NList.mcc/MUIA_NList_DisplayHook
  526.  
  527.     NAME
  528.         MUIA_NList_DisplayHook -- [IS.], struct Hook *
  529.  
  530.     FUNCTION
  531.         Same function as List.mui/MUIA_List_DisplayHook.
  532.  
  533.         Do not modify the buffers you return in the hook anywhere
  534.         else than in the hook when called by NList.
  535.         (if you do so you MUST set MUIA_NList_DisplayRecall)
  536.  
  537.  
  538.         You should return the same thing if its called another
  539.         time with the same inputs !
  540.         The hook will be called with a pointer to the
  541.         entry to be displayed in A1 and a pointer to
  542.         a string array containing as many entries as
  543.         your list may have cols in A2.
  544.         You must fill this array with the strings that
  545.         you want to display.
  546.         The array is DISPLAY_ARRAY_MAX*2 large.
  547.         In the DISPLAY_ARRAY_MAX+col element you can set a
  548.         preparse string for the corresponding col element.
  549.         Using it you'll be able to avoid copying the string in
  550.         a buffer to add something in the beginning of the col
  551.         string.
  552.  
  553.         The display hook also gets the position of the current entry
  554.         as additional parameter. It is stored in the longword
  555.         preceding the col array (don't forget it's a LONG).
  556.         (setting that LONG value to -2 is another way to tell the object
  557.         to not consider the return string pointeur as valid next time
  558.         he will want to use it, and he will recall the hook).
  559.  
  560.         When the hook function will be called to get the title strings,
  561.         you'll get NULL in A1, and -1 as position of current entry.
  562.  
  563.  
  564.         The hook function will be called each time a line (or a part of
  565.         it) need to be drawn (and when NList need to compute lenght of
  566.         columns contents).
  567.  
  568.  
  569.         Here are the escape sequence known by the parsing of NList :
  570.               (If you use C, ESC b can be written "\033b")
  571.  
  572.         \t          Tabulation. Go to the next tab boundary of the col.
  573.                     tab positions are separated by 8 spaces by default.
  574.         ESC -       Disable text engine, following chars will be printed
  575.                     without further parsing.
  576.         ESC u       Set the soft style to underline.
  577.         ESC b       Set the soft style to bold.
  578.         ESC i       Set the soft style to italic.
  579.         ESC n       Set the soft style back to normal.
  580.         ESC <n>     Use pen number n (2..9) as front pen. n must be a valid
  581.                     DrawInfo pen as specified in "intuition/screens.h".
  582.         ESC c       Center current line. only valid at the beginning.
  583.         ESC r       Right justify current line. only valid at the beginning.
  584.         ESC l       Left justify current line. only valid at the beginning.
  585.  
  586.         These ones are new or modified :
  587.  
  588.         ESC j       Justify left and right current line. only at beginning.
  589.         ESC I[<s>]                     (ESC I[<s>|<width>|<height>,<minwidth>])
  590.                     Draw MUI image with specification <s>.
  591.                     See Image.mui/MUIA_Image_Spec for image spec definition.
  592.                     <width> and <height> should be omited because NList
  593.                     draw the image to its standard size himself now.
  594.         ESC O[<p>]                     (ESC O[<s>|<width>|<height>,<minwidth>])
  595.                     Draw the MUIM_NList_CreateImage at adress <p>.
  596.                     (<p> should be an 8 hex digits number).
  597.         ESC o[<n>]                     (ESC o[<s>|<width>|<height>,<minwidth>])
  598.                     Draw the MUIM_NList_UseImage number <n>. If the <n> UseImage
  599.                     don't exist or has been set to NULL, no image is drawn.
  600.         ESC P[]     Use default front pen.
  601.         ESC P[<n>]  Use pen number <n>. (it's a direct pen number, so you must
  602.                     make MUI_ObtainPen and MUI_ReleasePen for it yourself,
  603.                     best to do it is in Setup() and Cleanup() of a subclass).
  604.         ESC T       Draw horizontal line on top of the entry for the col.
  605.         ESC C       Draw horizontal line centered in the entry for the col.
  606.         ESC B       Draw horizontal line on bottom of the entry for the col.
  607.         ESC E       Draw horizontal line centered in the entry for the col,
  608.                     but only on the left and right of the line contents.
  609.         ESC t , ESC t[<n>] , ESC t[M<n>] , ESC t[I<n>]
  610.                     Make the ESC C and ESC E horizontal line become thick and filled
  611.                     with some color :
  612.                     default is MPEN_FILL.
  613.                     [<n>]  means than <n> is a direct pen color, like for ESC P[<n>]
  614.                     [M<n>] means that <n> is MUI pen color number (MPEN_xxx ie 0..8)
  615.                     [I<n>] means that <n> is Intuition dri pen number 0..11 (see
  616.                             "intuition/screens.h")
  617.         ESC t[N], ESC t[N<n>], ESC t[NM<n>], ESC t[NI<n>]
  618.                     Make the ESC T, ESC C,ESC B, ESC E become a single black line,
  619.                     or not black when using a <n>, M<n> or I<n> pen color.
  620.                     ('N' is for Not thick ;)
  621.  
  622.         with ESC O[] and ESC o[], you can add [...@<n>] which will make the image/object
  623.         act as a relverify button. When this "button" is released NList will notify
  624.         MUIA_NList_ButtonClick with the value <n>.
  625.  
  626.         with ESC I[], ESC O[] and ESC o[], you can add [...|<width>] or
  627.         [...|<width>|<height>] or [...|<width>|<height>,<minwidth>] or
  628.         [...,<minwidth>] where :
  629.           <width> will be the width in pixels of the image/object.
  630.                   -1  means default image width unless <minwidth> is set.
  631.                    0  means default image width.
  632.           <height> will be the height in pixels of the image/object.
  633.                   -1  means default image height (entry height is max).
  634.                    0  means entry height.
  635.           <minwidth> will be the min width in pixels before the next char/string/image.
  636.                   when present, default height become entry height and
  637.                   width become minwidth (if minwdith is bigger than image default
  638.                   width), unless you set <width> and/or <height>.
  639.           <minwidth> <width> and <height> must be a decimal number (%ld).
  640.  
  641.     SEE ALSO
  642.         MUIA_NList_Format, MUIA_Text_Contents, MUIA_List_DisplayHook,
  643.         MUIA_NList_DisplayRecall
  644. NList.mcc/MUIA_NList_DisplayHook2
  645.  
  646.     NAME
  647.         MUIA_NList_DisplayHook2 -- [IS.], struct Hook *
  648.  
  649.     FUNCTION
  650.         Same function as MUIA_NList_DisplayHook but A2 will be the object
  651.         and A1 a NList_DisplayMessage struct pointer.
  652.  
  653.     SEE ALSO
  654.         MUIA_NList_DisplayHook
  655. NList.mcc/MUIA_NList_DisplayRecall
  656.  
  657.     NAME
  658.         MUIA_NList_DisplayRecall -- [.S.], BOOL
  659.  
  660.     FUNCTION
  661.         If for some unusual reason you modify one of the buffer that
  662.         your DisplayHook function usually return anywhere else than
  663.         in the DisplayHook function when called by the NList object,
  664.         you must set it to TRUE, so the object will know it.
  665.  
  666.     SEE ALSO
  667.         MUIA_NList_DisplayHook
  668. NList.mcc/MUIA_NList_DoubleClick
  669.  
  670.     NAME
  671.         MUIA_NList_DoubleClick -- [..GN], LONG
  672.  
  673.     FUNCTION
  674.         You'll get a notify on it each time the user double
  675.         clicks on an entry in the list, or on the title.
  676.  
  677.         The value is the entry number, which will be -1 when
  678.         it's the title.
  679.  
  680.         You'll get a notify on it too when you press the 'return' key
  681.         and the NList object is active or default.
  682.  
  683.         If you get() it, you'll get the last click position, which
  684.         can be -2 if it was on nothing (ie not entry or title).
  685.  
  686.         For triple clicks and more, use MUIA_NList_MultiClick.
  687.  
  688.     NOTE
  689.         Disabled for the title when MUIA_NList_TitleClick is used.
  690.  
  691.     SEE ALSO
  692.         MUIA_NList_MultiClick, MUIA_NList_TitleClick,
  693.         MUIA_NList_EntryClick, MUIM_NList_TestPos.
  694. NList.mcc/MUIA_NList_DragColOnly
  695.  
  696.     NAME
  697.         MUIA_NList_DragColOnly -- [ISG], LONG
  698.  
  699.     FUNCTION
  700.         When set to a col number (displayhook col number, not the visible
  701.         one), only the text of that col for the selected entry will
  702.         be dragged instead of the visible part of the entry.
  703.  
  704.         Set it to -1 to come back to standard/default mode when you have
  705.         changed it !
  706. NList.mcc/MUIA_NList_DragSortable
  707.  
  708.     NAME
  709.         MUIA_NList_DragSortable -- [ISG], BOOL
  710.  
  711.     FUNCTION
  712.         Same function as List.mui/MUIA_List_DragSortable.
  713.  
  714.         DragType will be MUIV_NList_DragType_Default unless you set it.
  715.  
  716.         No need for you to set MUIA_Dropable or MUIA_Draggable.
  717.  
  718.     DEFAULT
  719.         FALSE
  720. NList.mcc/MUIA_NList_DragSortInsert
  721.  
  722.     NAME
  723.         MUIA_NList_DragSortInsert -- [..GN], BOOL
  724.  
  725.     FUNCTION
  726.         Same as MUIA_NList_InsertPosition but the notify is made only after
  727.         a MUIA_NList_DragSortable move.
  728. NList.mcc/MUIA_NList_DragType
  729.  
  730.     NAME
  731.         MUIA_NList_DragType -- [ISG], LONG
  732.  
  733.     SPECIAL INPUTS
  734.         MUIV_NList_DragType_None        no drag
  735.         MUIV_NList_DragType_Default     as set in prefs.
  736.         MUIV_NList_DragType_Immediate   drag on borders and with qualifier, and
  737.                                         immediate drag if non-multiselect mode.
  738.         MUIV_NList_DragType_Borders     drag on borders and with qualifier.
  739.         MUIV_NList_DragType_Qualifier   drag only using qualifier.
  740.  
  741.     FUNCTION
  742.         Same function as Listview.mui/MUIA_Listview_DragType.
  743.  
  744.         If you want the user to be able to drag items out of
  745.         your list, you must set this.
  746.         Don't use MUIA_Draggable with NList or NListview.
  747. NList.mcc/MUIA_NList_DropMark
  748.  
  749.     NAME
  750.         MUIA_NList_DropMark -- [..G], LONG
  751.  
  752.     FUNCTION
  753.         Same function as List.mui/MUIA_List_DropMark.
  754.  
  755.         After a successfull drop operation, this attribute holds
  756.         the position where we should insert the new entry(ies).
  757.  
  758.     SEE ALSO
  759.         MUIA_NList_DropType, MUIM_NList_DropType, MUIM_NList_DropDraw
  760. NList.mcc/MUIA_NList_DropType
  761.  
  762.     NAME
  763.         MUIA_NList_DropType -- [..G], LONG
  764.  
  765.     FUNCTION
  766.         Same function as MUIA_NList_DropMark but will return the
  767.         current DropMark type instead of the DropMark entry number.
  768.  
  769.         After a successfull drop operation, this attribute holds
  770.         the type of dropmark which where drawn.
  771.  
  772.     SEE ALSO
  773.         MUIA_NList_DropMark, MUIM_NList_DropType, MUIM_NList_DropDraw
  774. NList.mcc/MUIA_NList_Entries
  775.  
  776.     NAME
  777.         MUIA_NList_Entries -- [..GN], LONG
  778.  
  779.     FUNCTION
  780.         Same function as List.mui/MUIA_List_Entries.
  781.  
  782.     SEE ALSO
  783.         MUIA_NList_First, MUIA_NList_Visible, MUIA_NList_Active
  784. NList.mcc/MUIA_NList_EntryClick
  785.  
  786.     NAME
  787.         MUIA_NList_EntryClick -- [..GN], LONG
  788.  
  789.     FUNCTION
  790.         You'll get a notify on it each time the user click
  791.         on an entry in the list (on the title, use
  792.         MUIA_NList_TitleClick for that).
  793.  
  794.         The value is the entry number.
  795.  
  796.         You'll get a notify on it too when you press the 'return' key
  797.         and the NList object is active or default, but only if there
  798.         is no notify asked on MUIA_NList_DoubleClick.
  799.  
  800.         If you get() it, you'll get the last click position, which
  801.         can be -1 when on title and -2 if it was on nothing.
  802.  
  803.     SEE ALSO
  804.         MUIA_NList_MultiClick, MUIA_NList_TitleClick,
  805.         MUIA_NList_DoubleClick, MUIM_NList_TestPos.
  806. NList.mcc/MUIA_NList_EntryValueDependent
  807.  
  808.     NAME
  809.         MUIA_NList_EntryValueDependent -- [ISG], BOOL
  810.  
  811.     FUNCTION
  812.         If your display hook return different strings when the
  813.         entry num value change for a identical entry pointer
  814.         then you should set it.
  815.  
  816.     DEFAULT
  817.         FALSE
  818.  
  819.     SEE ALSO
  820.         MUIA_NList_DisplayHook
  821. NList.mcc/MUIA_NList_Exports
  822.  
  823.     NAME
  824.         MUIA_NList_Exports -- [ISG], LONG
  825.  
  826.     FUNCTION
  827.         Tell the NList object what parts of it's state will have to
  828.         be saved in MUIM_Export method (which is called by the
  829.         MUIM_Application_Save method if the object has a ObjectID).
  830.  
  831.     SPECIAL INPUTS
  832.         MUIV_NList_Exports_Active       save active entry number.
  833.         MUIV_NList_Exports_Selected     save selected entries numbers.
  834.         MUIV_NList_Exports_First        save first visible entry number.
  835.         MUIV_NList_Exports_ColWidth     save widths of columns.
  836.         MUIV_NList_Exports_ColOrder     save order of columns.
  837.         MUIV_NList_Exports_Cols         save all about columns (width and order actually).
  838.         MUIV_NList_Exports_All
  839.  
  840.     NOTE
  841.         MUIV_NList_Exports_Selected can make a very long export (so a big program
  842.         .cfg file) if the list has many selected entries. It take one long int
  843.         (ie 4 bytes) for each selected entry...
  844.  
  845.         Active and First are always exported by the MUIM_Export method,
  846.         having MUIV_NList_Exports_Active and MUIV_NList_Exports_First set or not.
  847.  
  848.     DEFAULT
  849.         (MUIV_NList_Exports_Active | MUIV_NList_Exports_First | MUIV_NList_Exports_Cols)
  850.  
  851.     SEE ALSO
  852.         MUIA_NList_Imports
  853. NList.mcc/MUIA_NList_First
  854.  
  855.     NAME
  856.         MUIA_NList_First -- [ISGN], LONG
  857.  
  858.     SPECIAL INPUTS
  859.         MUIV_NList_First_Top
  860.         MUIV_NList_First_Bottom
  861.         MUIV_NList_First_Up
  862.         MUIV_NList_First_Down
  863.         MUIV_NList_First_PageUp
  864.         MUIV_NList_First_PageDown
  865.  
  866.     FUNCTION
  867.         Get the number of the first visible entry.
  868.         You can set it to change the first entry you want to be visible.
  869.  
  870.     SEE ALSO
  871.         MUIA_NList_Visible, MUIA_NList_Entries, MUIA_NList_Active
  872. NList.mcc/MUIA_NList_ForcePen
  873.  
  874.     NAME
  875.         MUIA_NList_ForcePen -- [ISG], LONG
  876.  
  877.     SPECIAL INPUTS
  878.         MUIV_NList_ForcePen_On
  879.         MUIV_NList_ForcePen_Off
  880.         MUIV_NList_ForcePen_Default
  881.  
  882.     FUNCTION
  883.         Set the ForcePen mode, when on it force the 'selected pen' color
  884.         in all the selected area. Else the color is forced only at the
  885.         beginning of the area and can be changed by text escape sequences.
  886.  
  887.         The default is set by the user in the pref .mcp class.
  888.  
  889.         Getting in will give its current value.
  890. NList.mcc/MUIA_NList_Format
  891.  
  892.     NAME
  893.         MUIA_NList_Format -- [ISG], STRPTR
  894.  
  895.     FUNCTION
  896.         NList is able to handle multi column lists. To define
  897.         how many columns should be displayed and how they
  898.         should be formatted, you specify a format string.
  899.  
  900.         This format string must contain one entry for each column
  901.         you want to see. Entries are seperated by commas, one
  902.         entry is parsed via dos.library/ReadArgs().
  903.  
  904.         The template for a single entry looks like this:
  905.  
  906.         DELTA=D/N,PREPARSE=P/K,COL=C/N,BAR/S,TBAR/S,NOBAR=NB/S,
  907.         SIMPLEBAR=SBAR/S,NOTITLEBUTTON=NOTB/S,
  908.         WEIGHT=W/N,MINWIDTH=MIW/N,MAXWIDTH=MAW/N,
  909.         COLWIDTH=CW/N,MINCOLWIDTH=MICW/N,MAXCOLWIDTH=MACW/N,
  910.         PIXWIDTH=PW/N,MINPIXWIDTH=MIPW/N,MAXPIXWIDTH=MAPW/N
  911.  
  912.     First ones are like (or nearly) MUIA_List_Format ones :
  913.  
  914.         DELTA
  915.            Space in pixel between this column and the next.
  916.            the last displayed column ignores this setting.
  917.            Defaults to 4.
  918.  
  919.         PREPARSE
  920.            A preparse string for this column.
  921.  
  922.         COL
  923.            This value adjusts the col number of the current column.
  924.            Defaults to current column number (0,1,...)
  925.            You can't use identical COL values for 2 or more columns.
  926.  
  927.         BAR
  928.            Will draw a vertical bar between this and the next column.
  929.  
  930.         WEIGHT
  931.            The weight of the column. As for MUI's group.
  932.  
  933.         MINWIDTH
  934.            Minimum percentage of the list width for the current column.
  935.  
  936.         MAXWIDTH
  937.            Maximum percentage of the list width for the current column.
  938.  
  939.     These are new ones :
  940.  
  941.         TBAR
  942.            Will draw a vertical bar between this and the next column
  943.            but only in the title (ignored if BAR is set).
  944.            THIS IS A DEFAULT !
  945.  
  946.         NOBAR
  947.            Don't draw a vertical bar between this and the next column at all.
  948.  
  949.         SIMPLEBAR
  950.            Make te vertical bar a simple black one.
  951.  
  952.         NOTITLEBUTTON
  953.            Will prevent the title of the column to act as a relverify
  954.            button when you set MUIA_NList_TitleClick (or make a notify
  955.            on it).
  956.  
  957.         COLWIDTH
  958.            Wanted number of chars for the current column.
  959.            You will get as PIXWIDTH with number*font_with.
  960.            Possibly more than number chars will fit in the
  961.            column if you use proportional font, anyway you
  962.            are sure than number non italic chars will fit.
  963.  
  964.         MINCOLWIDTH
  965.            Minimum number of chars for the current column.
  966.  
  967.         MAXCOLWIDTH
  968.            Maximum number of chars for the current column.
  969.  
  970.         PIXWIDTH
  971.            Wanted number of chars for the current column.
  972.  
  973.         MINPIXWIDTH
  974.            Minimum number of chars for the current column.
  975.  
  976.         MAXPIXWIDTH
  977.            Maximum number of chars for the current column.
  978.  
  979.         Note: You will have as many columns in your list as
  980.               entries in the format string (i.e. number of
  981.               commas + 1). Empty entries, e.g. with a format
  982.               string of ",,,," are perfectly ok.
  983.  
  984.         MINPIXWIDTH, MAXPIXWIDTH, MINCOLWIDTH, MAXCOLWIDTH,
  985.         MINWIDTH and MAXWIDTH will not be used if PIXWIDTH,
  986.         or COLWIDTH is used.
  987.  
  988.         Only one of PIXWIDTH, COLWIDTH and WEIGHT will be
  989.         used, the first find in this order.
  990.         Biggest of MINPIXWIDTH, MINCOLWIDTH and MINWIDTH.
  991.         Smallest of MAXPIXWIDTH, MAXCOLWIDTH and MAXWIDTH.
  992.         If the min is bigger than the max the min will be used.
  993.  
  994.         You shoul used PIX ones only for columns with images,
  995.         and COL ones when you want to be sure to get as many
  996.         chars you want.
  997.  
  998.         All chars/images will be drawn for the last column
  999.         always, you should specify some width for it anyway
  1000.         as it will be used for centered and right aligned texts !
  1001.  
  1002.         Default values : WEIGHT=-1, MINWIDTH=5, MAXWIDTH=10000.
  1003.  
  1004.         Use MINWIDTH=0 if you don't use PIXWIDTH or COLWIDTH and
  1005.         don't want any min value.
  1006.  
  1007.         If you want to use WEIGHT values as percentage of the list
  1008.         width, just choose them to have their total being 100.
  1009.  
  1010.         WEIGHT = -1 mean that you want the column to have
  1011.         the width of the largest entry's column contents.
  1012.         MINWIDTH = -1 have the same meaning as for WEIGHT but for
  1013.         the min value.
  1014.         Default will be 100 for the last column, set it to -1 or
  1015.         -2 if you want to force it when more than one column, and
  1016.         to -2 to force it when only one column.
  1017.  
  1018.         Be aware that it can take long time to do that when there
  1019.         are many entries since this need a call to the dislpayhook,
  1020.         parse and find real length of all entries.
  1021.         Anyway using such stuff for one or more column has the
  1022.         same overhead.
  1023.  
  1024.         The default list format is an empty string (""), this
  1025.         means a one column list without special formatting.
  1026.  
  1027.     NOTE
  1028.         Actually MUIA_NList_Format will not try to see if the new
  1029.         format is similar to previous one. It means that all
  1030.         column width will be re-computed (and all entries parsed
  1031.         if WEIGHT or MINWIDTH is -1), same for wrapping
  1032.         which will be recomputed for all entries.
  1033.         So, it's better to do it before inserting entries
  1034.         if you want to do both.
  1035.         If you want to clear, insert, and set the format, the
  1036.         best is to set the format after the clear (fastest, no
  1037.         entry to parse) and before the insert.
  1038.  
  1039.     BUGS (FEATURE)
  1040.         Currently there is a maximum of 64 columns for a list.
  1041.  
  1042.     SEE ALSO
  1043.         MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator.
  1044. NList.mcc/MUIA_NList_Horiz_DeltaFactor
  1045.  
  1046.     NAME
  1047.         MUIA_NList_Horiz_DeltaFactor -- [..GN], LONG
  1048.  
  1049.     FUNCTION
  1050.         Used for NListview. You can make a notification on it
  1051.         if you want to attach your own horizontal scrollbar
  1052.         and set the increment value of scrollbar's arrows :
  1053.  
  1054.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_DeltaFactor,MUIV_EveryTime,
  1055.           SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
  1056.  
  1057.     SEE ALSO
  1058.         MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
  1059. NList.mcc/MUIA_NList_Horiz_Entries
  1060.  
  1061.     NAME
  1062.         MUIA_NList_Horiz_Entries -- [..GN], LONG
  1063.  
  1064.     FUNCTION
  1065.         Used for NListview. You can make a notification on it
  1066.         if you want to attach your own horizontal scrollbar :
  1067.  
  1068.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Entries,MUIV_EveryTime,
  1069.           SBobj, 3, MUIM_Set,MUIA_Prop_Entries,MUIV_TriggerValue);
  1070.  
  1071.     SEE ALSO
  1072.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
  1073. NList.mcc/MUIA_NList_Horiz_First
  1074.  
  1075.     NAME
  1076.         MUIA_NList_Horiz_First -- [.SGN], LONG
  1077.  
  1078.     FUNCTION
  1079.         Used for NListview. You can make a notification on it
  1080.         if you want to attach your own horizontal scrollbar :
  1081.  
  1082.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_First,MUIV_EveryTime,
  1083.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_First,MUIV_TriggerValue);
  1084.         DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  1085.           NLobj, 3, MUIM_NoNotifySet,MUIA_NList_Horiz_First,MUIV_TriggerValue);
  1086.  
  1087.     SEE ALSO
  1088.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_Visible
  1089. NList.mcc/MUIA_NList_Horiz_Visible
  1090.  
  1091.     NAME
  1092.         MUIA_NList_Horiz_Visible -- [..GN], LONG
  1093.  
  1094.     FUNCTION
  1095.         Used for NListview. You can make a notification on it
  1096.         if you want to attach your own horizontal scrollbar :
  1097.  
  1098.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Visible,MUIV_EveryTime,
  1099.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
  1100.  
  1101.     SEE ALSO
  1102.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First
  1103. NList.mcc/MUIA_NList_Imports
  1104.  
  1105.     NAME
  1106.         MUIA_NList_Imports -- [ISG], LONG
  1107.  
  1108.     FUNCTION
  1109.         Tell the NList object what parts of it's state must be loaded
  1110.         (and used) in MUIM_Import method (which is called by the
  1111.         MUIM_Application_Load method if the object has a ObjectID).
  1112.  
  1113.     SPECIAL INPUTS
  1114.         MUIV_NList_Imports_Active     load previous active entry number (and make it active).
  1115.         MUIV_NList_Imports_Selected   load previous selected entries numbers (and make them selected).
  1116.         MUIV_NList_Imports_First      load previous first visible entry number (and make it the first visible).
  1117.         MUIV_NList_Imports_ColWidth   load previous widths of columns (and set them).
  1118.         MUIV_NList_Imports_ColOrder   load previous order of columns (and set it).
  1119.         MUIV_NList_Imports_Cols       load all about columns (width and order actually).
  1120.         MUIV_NList_Imports_All
  1121.  
  1122.     DEFAULT
  1123.         (MUIV_NList_Imports_Active | MUIV_NList_Imports_First | MUIV_NList_Imports_Cols)
  1124.  
  1125.     SEE ALSO
  1126.         MUIA_NList_Exports
  1127. NList.mcc/MUIA_NList_Input
  1128.  
  1129.     NAME
  1130.         MUIA_NList_Input -- [ISG], BOOL
  1131.  
  1132.     FUNCTION
  1133.         Same function as NListview.mcc/MUIA_Listview_Input.
  1134.  
  1135.     DEFAULT
  1136.         TRUE
  1137.  
  1138.     SEE ALSO
  1139.         MUIA_NList_MultiSelect
  1140. NList.mcc/MUIA_NList_InsertPosition
  1141.  
  1142.     NAME
  1143.         MUIA_NList_InsertPosition -- [..GN], LONG
  1144.  
  1145.     FUNCTION
  1146.         Same function as List.mui/MUIA_List_InsertPosition.
  1147.  
  1148. NList.mcc/MUIA_NList_KeepActive
  1149.  
  1150.     NAME
  1151.         MUIA_NList_KeepActive -- [.S.], Obj *
  1152.  
  1153.     FUNCTION
  1154.         Usefull when MUIA_NList_DefaultObjectOnClick if you
  1155.         don't want the specified object to be desactivated.
  1156.         A NListview object set it to it's NList child at
  1157.         creation time, so you should not have to use that tag.
  1158.  
  1159.     SEE ALSO
  1160.         MUIA_NList_DefaultObjectOnClick,MUIA_NList_MakeActive
  1161. NList.mcc/MUIA_NList_LineHeight
  1162.  
  1163.     NAME
  1164.         MUIA_NList_LineHeight -- [..GN], LONG
  1165.  
  1166.     FUNCTION
  1167.         Get the current line height.
  1168. NList.mcc/MUIA_NList_MakeActive
  1169.  
  1170.     NAME
  1171.         MUIA_NList_MakeActive -- [.S.], Obj *
  1172.  
  1173.     FUNCTION
  1174.         Use it if you want an object to be activated when you click
  1175.         in the list object.
  1176.         If you want to be able to control the list with key, you
  1177.         should use MUIA_NList_DefaultObjectOnClick instead.
  1178.  
  1179.         If you use both MUIA_NList_MakeActive and
  1180.         MUIA_NList_DefaultObjectOnClick then the specified object
  1181.         will be activated only if there is already an active one.
  1182.  
  1183.         The only object which should be set should be the NListview
  1184.         parent object of the current NList one.
  1185.  
  1186.     SEE ALSO
  1187.         MUIA_NList_DefaultObjectOnClick,MUIA_NList_KeepActive
  1188. NList.mcc/MUIA_NList_MinColSortable
  1189.  
  1190.     NAME
  1191.         MUIA_NList_MinColSortable -- [ISG], LONG
  1192.  
  1193.     FUNCTION
  1194.         Sets the number of the first visible column which
  1195.         can be sorted, ie exchanged with some other one.
  1196.  
  1197.         Default is 1, making the leftmost (0) column not sortable.
  1198.  
  1199.         Just set it to a big number (100 for example) to forbid
  1200.         the columns sorting.
  1201. NList.mcc/MUIA_NList_MinLineHeight
  1202.  
  1203.     NAME
  1204.         MUIA_NList_MinLineHeight -- [IS.], LONG
  1205.  
  1206.     FUNCTION
  1207.         Same function as List.mui/MUIA_List_MinLineHeight.
  1208.  
  1209.         Sets the minimum line height for lists in pixels.
  1210.  
  1211.         If <= 0 then it's absolute value will replace the
  1212.         'Leading' value of prefs which is added to the
  1213.         font height.
  1214.  
  1215.         It seems that original MUIA_List_MinLineHeight use
  1216.         its positive value as a 'leading' one, which is not
  1217.         logical when i read its doc (!), so i do the
  1218.         change internally to get it works like with list...
  1219. NList.mcc/MUIA_NList_MultiClick
  1220.  
  1221.     NAME
  1222.         MUIA_NList_MultiClick -- [..GN], LONG
  1223.  
  1224.     FUNCTION
  1225.         You'll get a notify on it each time the user
  1226.         multiclicks more than 2 times on an entry in the
  1227.         list, or on the title. You'll get the number of
  1228.         the click (3, 4, 5...) for each. Note that you'll
  1229.         not get MUIA_NList_MultiClick for a double click;
  1230.         you must use MUIA_NList_DoubleClick for that.
  1231.         The time between each click must be less or equal
  1232.         to the double click time set in Amiga Input prefs.
  1233.  
  1234.         You can know on which entry the multiclick was made
  1235.         getting MUIA_NList_DoubleClick value.
  1236.  
  1237.         So you can make a notification on it.
  1238.  
  1239.     NOTE
  1240.         Disabled for the title when MUIA_NList_TitleClick is used.
  1241.  
  1242.     SEE ALSO
  1243.         MUIA_NList_MultiClickAlone, MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
  1244.         MUIA_NList_EntryClick, MUIM_NList_TestPos.
  1245. NList.mcc/MUIA_NList_MultiClickAlone
  1246.  
  1247.     NAME
  1248.         MUIA_NList_MultiClickAlone -- [..GN], LONG
  1249.  
  1250.     FUNCTION
  1251.         You'll get a notify only for the final multiclick number,
  1252.         so if there are 3 clicks there will be only one multiclickalone
  1253.         notified, a little (max time between 2 clicks) after the 3rd one.
  1254.         It is the major change with classic MUIA_NList_DoubleClick and
  1255.         MUIA_NList_MultiClick which do the notify for all clicks.
  1256.  
  1257.         The drawback is the unavoidable delay between the last click
  1258.         and the notify.
  1259.  
  1260.         You can know on which entry the multiclickalone was made
  1261.         getting MUIA_NList_DoubleClick value.
  1262.  
  1263.         You can make a notification on it.
  1264.  
  1265.     SEE ALSO
  1266.         MUIA_NList_MultiClick, MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
  1267.         MUIA_NList_EntryClick, MUIM_NList_TestPos.
  1268. NList.mcc/MUIA_NList_MultiSelect
  1269.  
  1270.     NAME
  1271.         MUIA_NList_MultiSelect -- (V7 ) [I..], LONG
  1272.  
  1273.     SPECIAL INPUTS
  1274.         MUIV_NList_MultiSelect_None
  1275.         MUIV_NList_MultiSelect_Default
  1276.         MUIV_NList_MultiSelect_Shifted
  1277.         MUIV_NList_MultiSelect_Always
  1278.  
  1279.     FUNCTION
  1280.         Same function as Listview.mui/MUIA_Listview_MultiSelect.
  1281.  
  1282.         < At the moment MultiSelect_Default is the same
  1283.         as MultiSelect_Shifted >
  1284.  
  1285.     SEE ALSO
  1286.         MUIA_NList_MultiTestHook
  1287. NList.mcc/MUIA_NList_MultiTestHook
  1288.  
  1289.     NAME
  1290.         MUIA_NList_MultiTestHook -- [IS.], struct Hook *
  1291.  
  1292.     FUNCTION
  1293.         Same function as List.mui/MUIA_List_MultiTestHook.
  1294.  
  1295.     SEE ALSO
  1296.         MUIA_NList_ConstructHook, MUIA_NList_DestructHook
  1297. NList.mcc/MUIA_NList_Pool
  1298.  
  1299.     NAME
  1300.         MUIA_NList_Pool -- [I..], APTR
  1301.  
  1302.     FUNCTION
  1303.         Same function as List.mui/MUIA_List_Pool.
  1304.  
  1305.     SEE ALSO
  1306.         MUIA_NList_PoolPuddleSize, MUIA_NList_PoolThreshSize
  1307. NList.mcc/MUIA_NList_PoolPuddleSize
  1308.  
  1309.     NAME
  1310.         MUIA_NList_PoolPuddleSize -- [I..], ULONG
  1311.  
  1312.     FUNCTION
  1313.         Same function as List.mui/MUIA_List_PoolPuddleSize.
  1314.  
  1315.     SEE ALSO
  1316.         MUIA_NList_PoolThreshSize, MUIA_NList_Pool
  1317. NList.mcc/MUIA_NList_PoolThreshSize
  1318.  
  1319.     NAME
  1320.         MUIA_NList_PoolThreshSize -- [I..], ULONG
  1321.  
  1322.     FUNCTION
  1323.         Same function as List.mui/MUIA_List_PoolThreshSize.
  1324.  
  1325.     SEE ALSO
  1326.         MUIA_NList_PoolPuddleSize, MUIA_NList_Pool
  1327. NList.mcc/MUIA_NList_PrivateData
  1328.  
  1329.     NAME
  1330.         MUIA_NList_PrivateData -- [ISG], APTR
  1331.  
  1332.     FUNCTION
  1333.         It's a private data of the object that is unused by NList.
  1334.         You can use it as you want, as for MUIA_UserData.
  1335.  
  1336.     SEE ALSO
  1337.         MUIA_NList_DisplayHook, MUIA_NList_CopyEntryToClipHook,
  1338.         MUIA_NList_CopyColumnToClipHook
  1339. NList.mcc/MUIA_NList_Prop_DeltaFactor
  1340.  
  1341.     NAME
  1342.         MUIA_NList_Prop_DeltaFactor -- [..GN], LONG
  1343.  
  1344.     FUNCTION
  1345.         Used for NListview. You can make a notification on it
  1346.         if you want to attach your own vertical scrollbar
  1347.         and set the increment value of scrollbar's arrows :
  1348.  
  1349.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_DeltaFactor,MUIV_EveryTime,
  1350.           SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
  1351.  
  1352.     SEE ALSO
  1353.         MUIA_NList_Prop_Entries, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
  1354. NList.mcc/MUIA_NList_Prop_Entries
  1355.  
  1356.     NAME
  1357.         MUIA_NList_Prop_Entries -- [..GN], LONG
  1358.  
  1359.     FUNCTION
  1360.         Used for NListview. You can make a notification on it
  1361.         if you want to attach your own vertical scrollbar :
  1362.  
  1363.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Entries,MUIV_EveryTime,
  1364.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Entries,MUIV_TriggerValue);
  1365.  
  1366.     SEE ALSO
  1367.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
  1368. NList.mcc/MUIA_NList_Prop_First
  1369.  
  1370.     NAME
  1371.         MUIA_NList_Prop_First -- [.SGN], LONG
  1372.  
  1373.     FUNCTION
  1374.         Used for NListview. You can make a notification on it
  1375.         if you want to attach your own vertical scrollbar :
  1376.  
  1377.         DoMethod(NLobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  1378.           SBobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
  1379.         DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  1380.           NLobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
  1381.  
  1382.     SEE ALSO
  1383.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_Visible
  1384. NList.mcc/MUIA_NList_Prop_Visible
  1385.  
  1386.     NAME
  1387.         MUIA_NList_Prop_Visible -- [..GN], LONG
  1388.  
  1389.     FUNCTION
  1390.         Used for NListview. You can make a notification on it
  1391.         if you want to attach your own vertical scrollbar :
  1392.  
  1393.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Visible,MUIV_EveryTime,
  1394.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
  1395.  
  1396.     SEE ALSO
  1397.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_First
  1398. NList.mcc/MUIA_NList_Quiet
  1399.  
  1400.     NAME
  1401.         MUIA_NList_Quiet -- [.S.], BOOL
  1402.  
  1403.     FUNCTION
  1404.         Same function as List.mui/MUIA_List_Quiet.
  1405.  
  1406.         Think about using it when you insert/remove several entries
  1407.         one by one, it will go much faster.
  1408.         In all cases all changes which can be done later are delayed.
  1409.         Quiet_Full mean that no notify caused by changes in the list will
  1410.         be made, while Quiet_Visual will done them (but delayed to after
  1411.         the Quiet_None).
  1412.  
  1413.     SPECIAL INPUTS
  1414.         MUIV_NList_Quiet_None       same as FALSE.
  1415.         MUIV_NList_Quiet_Full       all values but FALSE and MUIV_NList_Quiet_Visual (-2).
  1416.         MUIV_NList_Quiet_Visual
  1417.  
  1418.     SEE ALSO
  1419.         MUIM_NList_Insert, MUIM_NList_Remove
  1420. NList.mcc/MUIA_NList_SelectChange
  1421.  
  1422.     NAME
  1423.         MUIA_NList_SelectChange -- [...N], BOOL
  1424.  
  1425.     FUNCTION
  1426.         Same function as Listview.mui/MUIA_Listview_SelectChange.
  1427.  
  1428.         A set(NLobj,MUIA_NList_SelectChange,TRUE) is made by NList
  1429.         whenever the selection state of one or more items in the
  1430.         list is changing.
  1431.  
  1432.     DEFAULT
  1433.         FALSE
  1434.  
  1435.     SEE ALSO
  1436.         MUIA_NList_MultiSelect
  1437. NList.mcc/MUIA_NList_ShowDropMarks
  1438.  
  1439.     NAME
  1440.         MUIA_NList_ShowDropMarks -- [ISG], BOOL
  1441.  
  1442.     FUNCTION
  1443.         Same function as List.mui/MUIA_List_ShowDropMarks.
  1444.  
  1445.     DEFAULT
  1446.         FALSE
  1447.  
  1448.     SEE ALSO
  1449.         MUIA_NList_DropMark
  1450. NList.mcc/MUIA_NList_SkipChars
  1451.  
  1452.     NAME
  1453.         MUIA_NList_SkipChars -- [ISG], char *
  1454.  
  1455.     FUNCTION
  1456.         Same function as Floattext.mui/MUIA_Floattext_SkipChars.
  1457. NList.mcc/MUIA_NList_SortType
  1458.  
  1459.     NAME
  1460.         MUIA_NList_SortType -- [ISGN], LONG
  1461.  
  1462.     FUNCTION
  1463.         This value will be set in the NList_CompareMessage struct
  1464.         of MUIA_NList_CompareHook2 hook function.
  1465.  
  1466.         It is set by MUIM_NList_Sort2 and MUIM_NList_Sort3 methods too.
  1467.  
  1468.     EXAMPLES
  1469.         See NList-Demo program.
  1470.  
  1471.     SEE ALSO
  1472.         MUIA_NList_CompareHook2, MUIM_NList_Sort2, MUIM_NList_Sort3, MUIA_NList_SortType2
  1473. NList.mcc/MUIA_NList_SortType2
  1474.  
  1475.     NAME
  1476.         MUIA_NList_SortType2 -- [ISGN], LONG
  1477.  
  1478.     FUNCTION
  1479.         This value will be set in the NList_CompareMessage struct
  1480.         of MUIA_NList_CompareHook2 hook function.
  1481.  
  1482.         It is set by MUIM_NList_Sort3 method too.
  1483.  
  1484.     EXAMPLES
  1485.         See NList-Demo program.
  1486.  
  1487.     SEE ALSO
  1488.         MUIA_NList_CompareHook2, MUIM_NList_Sort2, MUIM_NList_Sort3, MUIA_NList_SortType
  1489. NList.mcc/MUIA_NList_SourceArray
  1490.  
  1491.     NAME
  1492.         MUIA_NList_SourceArray -- [I..], APTR
  1493.  
  1494.     FUNCTION
  1495.         Same function as List.mui/MUIA_List_SourceArray.
  1496. NList.mcc/MUIA_NList_SourceInsert
  1497.  
  1498.     NAME
  1499.         MUIA_NList_SourceInsert -- [I..], struct MUIP_NList_InsertWrap *
  1500.  
  1501.     FUNCTION
  1502.         Same as DoMethod(obj,MUIM_NList_InsertWrap,...)
  1503.         with ... same as the contents of the passed struct,
  1504.         but at init.
  1505.  
  1506.     SEE ALSO
  1507.         MUIM_NList_InsertWrap
  1508. NList.mcc/MUIA_NList_SourceString
  1509.  
  1510.     NAME
  1511.         MUIA_NList_SourceString -- [I..], char *
  1512.  
  1513.     FUNCTION
  1514.         Same as
  1515.         DoMethod(obj,MUIM_List_Insert,string,-2,MUIV_NList_Insert_Bottom)
  1516.         but at init.
  1517.  
  1518.     SEE ALSO
  1519.         MUIM_List_Insert
  1520. NList.mcc/MUIA_NList_StackCheck
  1521.  
  1522.     NAME
  1523.         MUIA_NList_StackCheck -- [I..], BOOL
  1524.  
  1525.     FUNCTION
  1526.         Can be used to disable the stack checking done by NList.
  1527.         You should use it only if you make a stack exchange or if
  1528.         the stack has been changed for some other reason and is
  1529.         not compatible with the check.
  1530.  
  1531.     DEFAULT
  1532.         TRUE
  1533. NList.mcc/MUIA_NList_TabSize
  1534.  
  1535.     NAME
  1536.         MUIA_NList_TabSize -- [ISG], ULONG
  1537.  
  1538.     FUNCTION
  1539.         Same function as Floattext.mui/MUIA_Floattext_TabSize.
  1540.  
  1541.         Set how many spaces is the tabulation.
  1542.  
  1543.         Default is 8.
  1544. NList.mcc/MUIA_NList_Title
  1545.  
  1546.     NAME
  1547.         MUIA_NList_Title -- [ISG], char *
  1548.  
  1549.     FUNCTION
  1550.         Same function as List.mui/MUIA_List_Title.
  1551.  
  1552.         The title will be redraw each time you set it.
  1553.  
  1554.         When you use a display hook, its value is used as a BOOL/LONG
  1555.         which can have any value (just not NULL if you want to see it).
  1556.  
  1557.         The value returned by get() will be the same than the last one
  1558.         given in the set() or at init.
  1559.  
  1560.     SEE ALSO
  1561.         MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator
  1562. NList.mcc/MUIA_NList_TitleClick
  1563.  
  1564.     NAME
  1565.         MUIA_NList_TitleClick -- [ISGN], LONG
  1566.  
  1567.     FUNCTION
  1568.         You'll get a notify on it each time the user
  1569.         clicks one the title (only if on a column, so not on the
  1570.         vertical bar column separator which is used to modify the
  1571.         column width with mouse).
  1572.  
  1573.         The returned value is the col number (display hook col number).
  1574.  
  1575.         If you get that value later, it will still be the latest
  1576.         *title* click col that you'll get.
  1577.  
  1578.         If you ask for a notify on that tag, or if you set it (with any
  1579.         value) the title will act as if each of its column titles were
  1580.         separated buttons, notifying that tag when there are released.
  1581.  
  1582.         The (released) look for those title "buttons" will be better
  1583.         if you use MUIA_NList_TitleSeparator and BAR or TBAR for each
  1584.         column in the MUIA_NList_Format string.
  1585.  
  1586.         There is no shortkeys for these custom buttons and never be,
  1587.         so think to give another way to access the related stuffs.
  1588.  
  1589.         Don't ask for customized frames for them :  there are not real
  1590.         MUI and separated buttons but directly handled by NList, and i
  1591.         found it nice as is.
  1592.  
  1593.     NOTE
  1594.         When you use MUIA_NList_TitleClick, you'll not receive
  1595.         MUIA_NList_DoubleClick and MUIA_NList_MultiClick when clicking
  1596.         on the title any more.
  1597.  
  1598.     EXAMPLES
  1599.         See NList-Demo program.
  1600.  
  1601.     SEE ALSO
  1602.         MUIA_NList_TitleMark, MUIA_NList_TitleMark2, MUIA_NList_SortType,
  1603.         MUIA_NList_SortType2, MUIM_NList_Sort3, MUIA_NList_TitleClick,
  1604.         MUIA_NList_TitleClick2.
  1605. NList.mcc/MUIA_NList_TitleClick2
  1606.  
  1607.     NAME
  1608.         MUIA_NList_TitleClick2 -- [ISGN], LONG
  1609.  
  1610.     FUNCTION
  1611.         Works like MUIA_NList_TitleClick but when the qualifier is press while clicking
  1612.  
  1613.     EXAMPLES
  1614.         See NList-Demo program.
  1615.  
  1616.     SEE ALSO
  1617.         MUIA_NList_TitleClick, MUIA_NList_TitleMark, MUIA_NList_TitleMark2
  1618. NList.mcc/MUIA_NList_TitleMark
  1619.  
  1620.     NAME
  1621.         MUIA_NList_TitleMark -- [ISG], LONG
  1622.  
  1623.     FUNCTION
  1624.         Draw a mark on the corresponding display hook column.
  1625.  
  1626.         The value give 2 informations :  the column and the type of mark.
  1627.  
  1628.         Usually set to the MUIA_NList_SortType value (which is set by
  1629.         MUIM_NList_Sort3, this one called from a MUIA_NList_TitleClick notify).
  1630.  
  1631.     SPECIAL INPUTS
  1632.         MUIV_NList_TitleMark_None
  1633.         MUIV_NList_TitleMark_Down   | col
  1634.         MUIV_NList_TitleMark_Up     | col
  1635.         MUIV_NList_TitleMark_Box    | col
  1636.         MUIV_NList_TitleMark_Circle | col
  1637.  
  1638.     EXAMPLES
  1639.         See NList-Demo program.
  1640.  
  1641.     SEE ALSO
  1642.         MUIA_NList_TitleMark2, MUIA_NList_SortType, MUIA_NList_SortType2, MUIM_NList_Sort3,
  1643.         MUIA_NList_TitleClick, MUIA_NList_TitleClick2
  1644. NList.mcc/MUIA_NList_TitleMark2
  1645.  
  1646.     NAME
  1647.         MUIA_NList_TitleMark2 -- [ISG], LONG
  1648.  
  1649.     FUNCTION
  1650.         Draw a secondary mark on the corresponding display hook column.
  1651.  
  1652.         The value give 2 informations :  the column and the type of mark.
  1653.  
  1654.         Usually set to the MUIA_NList_SortType2 value (which is set by
  1655.         MUIM_NList_Sort3, this one called from a MUIA_NList_TitleClick/2 notify).
  1656.  
  1657.     SPECIAL INPUTS
  1658.         MUIV_NList_TitleMark2_None
  1659.         MUIV_NList_TitleMark2_Down   | col
  1660.         MUIV_NList_TitleMark2_Up     | col
  1661.         MUIV_NList_TitleMark2_Box    | col
  1662.         MUIV_NList_TitleMark2_Circle | col
  1663.  
  1664.     EXAMPLES
  1665.         See NList-Demo program.
  1666.  
  1667.     SEE ALSO
  1668.         MUIA_NList_TitleMark, MUIA_NList_SortType, MUIA_NList_SortType2, MUIM_NList_Sort3,
  1669.         MUIA_NList_TitleClick, MUIA_NList_TitleClick2
  1670. NList.mcc/MUIA_NList_TitleSeparator
  1671.  
  1672.     NAME
  1673.         MUIA_NList_TitleSeparator -- [ISG], BOOL
  1674.  
  1675.     FUNCTION
  1676.         If you set it, you get an horizontal bar between the
  1677.         title and the first visible entry (only when some title
  1678.         is visible).
  1679.  
  1680.     DEFAULT
  1681.         TRUE
  1682.  
  1683.     SEE ALSO
  1684.         MUIA_NList_Title
  1685. NList.mcc/MUIA_NList_TypeSelect
  1686.  
  1687.     NAME
  1688.         MUIA_NList_TypeSelect -- [IS.], LONG
  1689.  
  1690.     SPECIAL INPUTS
  1691.         MUIV_NList_TypeSelect_Line
  1692.         MUIV_NList_TypeSelect_Char
  1693.  
  1694.     FUNCTION
  1695.         Setting this tag you can choose between the classic
  1696.         list selection by line, or using a char precision
  1697.         selection.
  1698.  
  1699.         This should be used only for textviewer like stuff,
  1700.         and never for standard lists.
  1701.         Anyway its the only way to make direct copytoclip
  1702.         of a part of a line...
  1703.  
  1704.         Default is MUIV_NList_TypeSelect_Line of course.
  1705.  
  1706.     SEE ALSO
  1707.         MUIM_NList_Select, MUIM_List_Select
  1708. NList.mcc/MUIA_NList_Visible
  1709.  
  1710.     NAME
  1711.         MUIA_NList_Visible -- [..G], LONG
  1712.  
  1713.     FUNCTION
  1714.         Same function as List.mui/MUIA_List_Visible.
  1715.  
  1716.     SEE ALSO
  1717.         MUIA_NList_First, MUIA_NList_Entries, MUIA_NList_Active
  1718. NList.mcc/MUIA_NList_XXXBackground
  1719.  
  1720.     NAME
  1721.         MUIA_NList_TitleBackground -- [ISG], LONG
  1722.         MUIA_NList_ListBackground -- [ISG], LONG
  1723.         MUIA_NList_SelectBackground -- [ISG], LONG
  1724.         MUIA_NList_CursorBackground -- [ISG], LONG
  1725.         MUIA_NList_UnselCurBackground -- [ISG], LONG
  1726.  
  1727.     FUNCTION
  1728.         You can set all backgroungs of NList with these attributes,
  1729.         look at Area.mui/MUIA_Background and Image.mui/MUIA_Image_Spec
  1730.         to see what kind of value can be used.
  1731.         Anyway, you can set the defaults with prefs and so should
  1732.         not set it yourself.
  1733. NList.mcc/MUIA_NList_XXXPen
  1734.  
  1735.     NAME
  1736.         MUIA_NList_TitlePen -- [ISG], LONG
  1737.         MUIA_NList_ListPen -- [ISG], LONG
  1738.         MUIA_NList_SelectPen -- [ISG], LONG
  1739.         MUIA_NList_CursorPen -- [ISG], LONG
  1740.         MUIA_NList_UnselCurPen -- [ISG], LONG
  1741.  
  1742.     FUNCTION
  1743.         You can set all pens of NList with these attributes, their
  1744.         value must be of the type Pendisplay.mui/MUIA_Pendisplay_Spec.
  1745.         Look at Pendisplay.mui, Area.mui/MUIA_Background and
  1746.         Image.mui/MUIA_Image_Spec.
  1747.  
  1748.         Anyway, you can set the defaults with prefs and so should
  1749.         not set it yourself.
  1750. NList.mcc/MUIM_NList_Clear
  1751.  
  1752.     NAME
  1753.         MUIM_NList_Clear --
  1754.  
  1755.     SYNOPSIS
  1756.         DoMethod(obj,MUIM_NList_Clear,);
  1757.  
  1758.     FUNCTION
  1759.         Same function as List.mui/MUIM_List_Clear.
  1760.  
  1761.     SEE ALSO
  1762.         MUIM_NList_Insert, MUIA_NList_DestructHook
  1763. NList.mcc/MUIM_NList_ColWidth
  1764.  
  1765.     NAME
  1766.         MUIM_NList_ColWidth --
  1767.  
  1768.     SYNOPSIS
  1769.         DoMethod(obj,MUIM_NList_ColWidth,LONG col,LONG width);
  1770.  
  1771.     FUNCTION
  1772.         Set a width for a col as if changed by the user with mouse, or
  1773.         reset it to its default size.
  1774.         Permit to get the user width of a col too.
  1775.  
  1776.     INPUTS
  1777.         col     number of the col (numbered as in display hook).
  1778.  
  1779.                 special value :
  1780.               MUIV_NList_ColWidth_All     will set it for all columns.
  1781.  
  1782.         width   width to set (4 is the minimum width accepted).
  1783.  
  1784.                 special values :
  1785.               MUIV_NList_ColWidth_Default reset to default.
  1786.               MUIV_NList_ColWidth_Get     set nothing, only return current.
  1787.  
  1788.     RESULT
  1789.         When a col is specified (ie not MUIV_NList_ColWidth_All), the current
  1790.         *user* width of the col will be returned :
  1791.         o -1 mean that the col has its default width, ie not set by the user
  1792.           or with this method.
  1793.         o 0  mean that the specified col is not valid.
  1794.           When MUIV_NList_ColWidth_All you'll get always 0.
  1795. NList.mcc/MUIM_NList_ColToColumn
  1796.  
  1797.     NAME
  1798.         MUIM_NList_ColToColumn --
  1799.  
  1800.     SYNOPSIS
  1801.         DoMethod(obj,MUIM_NList_ColToColumn,LONG col);
  1802.  
  1803.     FUNCTION
  1804.         converts display hook col number to visible column number.
  1805.  
  1806.     INPUTS
  1807.         col     number of the col (numbered as in display hook).
  1808.  
  1809.     RESULT
  1810.         column number, -1 if no column use that col number.
  1811.  
  1812.     SEE ALSO
  1813.         MUIM_NList_ColumnToCol, MUIM_NList_SetColumnCol, MUIA_NList_Columns
  1814. NList.mcc/MUIM_NList_ColumnToCol
  1815.  
  1816.     NAME
  1817.         MUIM_NList_ColumnToCol --
  1818.  
  1819.     SYNOPSIS
  1820.         DoMethod(obj,MUIM_NList_ColumnToCol,LONG column);
  1821.  
  1822.     FUNCTION
  1823.         converts visible column number to display hook col number.
  1824.  
  1825.     INPUTS
  1826.         column   number of the column (visible).
  1827.  
  1828.     RESULT
  1829.         col number, -1 if the column is not valid.
  1830.  
  1831.     SEE ALSO
  1832.         MUIM_NList_ColToColumn, MUIM_NList_SetColumnCol, MUIA_NList_Columns
  1833. NList.mcc/MUIM_NList_ContextMenuBuild
  1834.  
  1835.     NAME
  1836.         MUIM_NList_ContextMenuBuild --
  1837.  
  1838.     SYNOPSIS
  1839.         DoMethod(obj,MUIM_NList_ContextMenuBuild, LONG mx, LONG my, LONG pos,
  1840.                                                 LONG column, LONG flags,LONG ontop);
  1841.  
  1842.     FUNCTION
  1843.         Give possibilities to use MUIM_ContextMenuBuild builtin in NList
  1844.         and a custom context menu for a NList subclass.
  1845.  
  1846.         Here is how NList MUIM_ContextMenuBuild work :
  1847.  
  1848.         If MUIA_ContextMenu is NULL, NULL is returned (no menu).
  1849.  
  1850.         If MUIA_ContextMenu is none of special values, the supermethod is called.
  1851.  
  1852.         If MUIA_ContextMenu is MUIV_NList_ContextMenu_Never, MUIA_ContextMenu is
  1853.         set to NULL and NULL is returned.
  1854.  
  1855.         Else (it's a special value) MUIM_NList_ContextMenuBuild is called :
  1856.  
  1857.           If MUIM_NList_ContextMenuBuild return -1, NULL will be returned (no menu).
  1858.  
  1859.           If MUIM_NList_ContextMenuBuild return NULL, NList will return its own
  1860.           context menu, depending on prefs (it's the default case).
  1861.  
  1862.           If MUIM_NList_ContextMenuBuild return an menu object, NList will
  1863.           enable/disable its own menu entries in the menu if it found some,
  1864.           then return thqt object.
  1865.  
  1866.           2 special menuitems are reconized by NList, and are found by :
  1867.             DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_This)
  1868.           and
  1869.             DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_All)
  1870.  
  1871.  
  1872.  
  1873.         MUIA_ContextMenu special values are actuallly used :
  1874.  
  1875.           MUIV_NList_ContextMenu_Default   replaced by one of followings.
  1876.           MUIV_NList_ContextMenu_TopOnly   only on title/top of list.
  1877.           MUIV_NList_ContextMenu_Always    always.
  1878.           MUIV_NList_ContextMenu_Never     never, repaced by NULL after.
  1879.  
  1880.           when using MUIV_NList_ContextMenu_TopOnly NList will set MUIA_ContextMenu
  1881.           NULL/non-NULL when the mouse move, which should permit to have
  1882.           the window menu avaible when the contents menu is not visible.
  1883.  
  1884.           Anyway actually (MUI 3.8) MUI has a bug/feature which make the
  1885.           MUIA_ContextMenu being looked at only when the mouse *enter*
  1886.           within the object bounds. MUIV_NList_ContextMenu_TopOnly stuff
  1887.           will be nicer when that MUI problem is fixed...
  1888.  
  1889.         Of course if you want NList to do what has to be done when a menu item
  1890.         has been selected, your MUIM_ContextMenuChoice should call the supermethod.
  1891.  
  1892.     INPUTS (for MUIM_NList_ContextMenuBuild)
  1893.  
  1894.         mx      current mouse x.
  1895.         my      current mouse y.
  1896.         pos     entry number returned by NList_TestPos.
  1897.         column  column returned by NList_TestPos.
  1898.         flags   flags returned by NList_TestPos.
  1899.         ontop   TRUE if mouse is on title/top of the list.
  1900.  
  1901.     RESULT
  1902.         NULL, -1 or a menustrip object.
  1903.  
  1904.     EXEMPLES
  1905.         To make a ContextMenu but have the NList one appear when the
  1906.         mouse in on title/top, just set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
  1907.         and make MUIM_NList_ContextMenuBuild return NULL when ontop in TRUE (else
  1908.         return your menustrip object). Call MUIM_ContextMenuChoice supermethod too.
  1909.  
  1910.         To make your own context menu which have the same menuitems as ones
  1911.         in NList context menu, set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
  1912.         and make MUIM_NList_ContextMenuBuild return always your menustrip object.
  1913.         Make 4 menuitems in your menustrip object which will be like these :
  1914.         { NM_ITEM ,  "Default Width: this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefWidth_This },
  1915.         { NM_ITEM ,  "Default Width: all"  , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefWidth_All },
  1916.         { NM_ITEM ,  "Default Order: this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefOrder_This },
  1917.         { NM_ITEM ,  "Default Order: all"  , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_DefOrder_All },
  1918.         They will be automatically enabled/disabled as needed by NList  :)
  1919.         Call MUIM_ContextMenuChoice supermethod too.
  1920. NList.mcc/MUIM_NList_CopyTo
  1921.  
  1922.     NAME
  1923.         MUIM_NList_CopyTo --
  1924.  
  1925.     SYNOPSIS
  1926.         DoMethod(obj,MUIM_NList_CopyTo, LONG pos, char *filename,
  1927.                                         APTR *result, APTR *entries);
  1928.  
  1929.     FUNCTION
  1930.         Do a copy to clipboard from some list entries or strings.
  1931.  
  1932.     INPUTS
  1933.         pos      entry number to be copied.
  1934.                  if MUIA_NList_CopyToClipHook is specified, it's what
  1935.                  it will return which will be copied instead of just
  1936.                  using the entry pointer as a string pointer.
  1937.  
  1938.                  special values :
  1939.  
  1940.             MUIV_NList_CopyTo_Active    copy list active entry
  1941.             MUIV_NList_CopyTo_Selected  copy list selected entries
  1942.             MUIV_NList_CopyTo_All       copy all list entries
  1943.             MUIV_NList_CopyTo_Entries   copy specified entries
  1944.             MUIV_NList_CopyTo_Entry     copy specified entry
  1945.  
  1946.             a "\n" will be insert after each entry contents.
  1947.  
  1948.         filename name of the file to copy to. If NULL then the copy will be
  1949.                  done to a string (strptr).
  1950.         result   LONG pointer which fill be filled with MUIV_NLCT_Success if
  1951.                  no error occured while opening and writing in the file, else
  1952.                  it will be filled with MUIV_NLCT_OpenErr, MUIV_NLCT_WriteErr
  1953.                  or MUIV_NLCT_Failed (failed somewhere when making copy data).
  1954.  
  1955.                  if filename is NULL, result will be filled with a string pointer
  1956.                  to a string allocated by AllocVec(). Datas will have been copied
  1957.                  in that string. YOU'LL HAVE TO FREE TAHT string pointer YOURSELF,
  1958.                  with a FreeVec(). If the returned string pointer is NULL then
  1959.                  the copy failed.
  1960.         entries  pointer to some entry, string, entries array or string array.
  1961.                  Its use depend on the pos value :
  1962.                  if MUIV_NList_CopyTo_Entry   then it's an entry pointer.
  1963.                  if MUIV_NList_CopyTo_Entries then it's an entry pointer
  1964.                                               array NULL terminated.
  1965.                  else :  not used, set to NULL.
  1966.  
  1967.     EXEMPLES
  1968.         LONG result = 0;
  1969.         DoMethod(obj,MUIM_NList_CopyTo, 5, "RAM:test.txt", &result, NULL, NULL);
  1970.  
  1971.           will copy the 5th entry to file RAM:test.txt, using
  1972.           MUIA_NList_CopyToClipHook if set.
  1973.  
  1974.  
  1975.         LONG result = 0;
  1976.         DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyToClip_Selected,
  1977.                                             "PRT:", &result, NULL, NULL);
  1978.           will copy all selected entries to printer, using
  1979.           MUIA_NList_CopyToClipHook for each if set.
  1980.  
  1981.  
  1982.         char *strptr = NULL;
  1983.         DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyTo_All,
  1984.                                             NULL, &strptr, NULL, NULL);
  1985.           will copy all list entries to the string returned in strptr.
  1986.           you must make a FreeVec(strptr) by yourself after.
  1987.  
  1988.     SEE ALSO
  1989.         MUIM_NList_CopyToClip, MUIA_NList_CopyToClipHook
  1990. NList.mcc/MUIM_NList_CopyToClip
  1991.  
  1992.     NAME
  1993.         MUIM_NList_CopyToClip --
  1994.  
  1995.     SYNOPSIS
  1996.         DoMethod(obj,MUIM_NList_CopyToClip, LONG pos, ULONG clipnum,
  1997.                                             APTR *entries, struct Hook *hook);
  1998.  
  1999.     FUNCTION
  2000.         Do a copy to clipboard from some list entries or strings.
  2001.  
  2002.     INPUTS
  2003.         pos      entry number to be copied.
  2004.                  if MUIA_NList_CopyToClipHook is specified, it's what
  2005.                  it will return which will be copied instead of just
  2006.                  using the entry pointer as a string pointer.
  2007.  
  2008.                  special values :
  2009.  
  2010.             MUIV_NList_CopyToClip_Active    copy list active entry
  2011.             MUIV_NList_CopyToClip_Selected  copy list selected entries
  2012.             MUIV_NList_CopyToClip_All       copy all list entries
  2013.             MUIV_NList_CopyToClip_Entries   copy specified entries
  2014.             MUIV_NList_CopyToClip_Entry     copy specified entry
  2015.             MUIV_NList_CopyToClip_Strings   copy specified strings using hook
  2016.             MUIV_NList_CopyToClip_String    copy specified string using hook
  2017.  
  2018.             a "\n" will be insert after each entry contents, for all but
  2019.             MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String.
  2020.  
  2021.         clipnum  clipboard number to copy to.
  2022.         entries  pointer to some entry, string, entries array or string array.
  2023.                  Its use depend on the pos value :
  2024.                  if MUIV_NList_CopyToClip_Entry   then it's an entry pointer.
  2025.                  if MUIV_NList_CopyToClip_Entries then it's an entry pointer
  2026.                                                   array NULL terminated.
  2027.                  if MUIV_NList_CopyToClip_String  then it's a string pointer.
  2028.                  if MUIV_NList_CopyToClip_Strings then it's an string pointer
  2029.                                                   array NULL terminated.
  2030.                  else :  not used, set to NULL.
  2031.         hook     hook function which will be used (if not NULL) for
  2032.                  MUIV_NList_CopyToClip_Strings and
  2033.                  MUIV_NList_CopyToClip_String
  2034.                  instead of MUIA_NList_CopyToClipHook
  2035.                  Should be NULL most of time.
  2036.  
  2037.     EXEMPLES
  2038.         DoMethod(obj,MUIM_NList_CopyToClip, 5, 0, NULL, NULL);
  2039.           will copy the 5th entry to clipboard 0, using
  2040.           MUIA_NList_CopyToClipHook if set.
  2041.  
  2042.         DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_Selected,
  2043.                                             0, NULL, NULL);
  2044.           will copy all selected entries to clipboard 0, using
  2045.           MUIA_NList_CopyToClipHook for each if set.
  2046.  
  2047.         DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_String,
  2048.                                             0, "my string", NULL);
  2049.           will copy "my string" to clipboard 0.
  2050.  
  2051.     NOTE
  2052.         MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String
  2053.         are here to permit simple text copy to clipboard for non nlist
  2054.         object related stuff (anyway a NList object must be here to use
  2055.         them...). They can use their own hook instead of nlist one if
  2056.         non NULL, anyway look at MUIA_NList_CopyToClipHook to see how
  2057.         this hook will be used.
  2058.  
  2059.     SEE ALSO
  2060.         MUIA_NList_CopyToClipHook, MUIA_NList_CopyToClip_Key, MUIM_NList_CopyTo
  2061. NList.mcc/MUIM_NList_CreateImage
  2062.  
  2063.     NAME
  2064.         MUIM_NList_CreateImage --
  2065.  
  2066.     SYNOPSIS
  2067.         DoMethod(obj,MUIM_NList_CreateImage,Object *imgobj, ULONG flags);
  2068.  
  2069.     FUNCTION
  2070.         Same function as List.mui/MUIM_List_CreateImage.
  2071.  
  2072.         Any transparent color in the source Bitmap/Bodychunk
  2073.         object will work (except if flags is ~0L).
  2074.  
  2075.         You must use MUIM_NList_CreateImage in Setup() or after
  2076.         and MUIM_NList_DeleteImage in Cleanup() or before,
  2077.         because the mri of the NList object must be valid.
  2078.         Setup() and Cleanup() are the best because MUI_ObtainPen()
  2079.         and MUI_ReleasePen() are used, and then pens will be
  2080.         released while iconification and will be re-obtained
  2081.         if the screen change.
  2082.  
  2083.         Take a look at MUIM_NList_UseImage which is far easier to
  2084.         use.
  2085.  
  2086.         Standard flags value is 0.
  2087.  
  2088.         If flags is ~0L then FillArea will not be set to FALSE on the object
  2089.         (for any other value, FillArea is set to FALSE)
  2090.  
  2091.         If flags is ~0L for a Bitmap/Bodychunk then it will be really the
  2092.         given object which will be drawn, as for non Bitmap/Bodychunk objects.
  2093.  
  2094.  
  2095.         The imgobj can (nearly) be any object, but take care of that :
  2096.  
  2097.         - the object should not test and use user inputs, the object
  2098.           should just be able to draw itself within the _left(obj),
  2099.           _top(obj), _width(obj) and height(obj) it will have when its
  2100.           Draw method is called.
  2101.         - the object class MUST NOT be Group or subclass of it.
  2102.         - the given imgobj must not be attached to any group object
  2103.           anywhere else, because a ADDMEMBER will be done with it.
  2104.         - Each imgobj can be used with one and only one NList object.
  2105.         - you can use the return pointer with ESC O[<ptr>] and ESC o[<num>].
  2106.         - the object will receive two tags just before its Draw method will
  2107.           be called : set(imgobj,MUIA_NLIMG_EntryCurrent,current_entry_number) and
  2108.           set(imgobj,MUIA_NLIMG_EntryHeight,height_of_each_entry_of_the_list)
  2109.           which are usefull in some case to draw things (see demo example).
  2110.         - a new stuff is to use it with ESC O[<ptr>;<tag>;<value>], in that case
  2111.           a set(imgobj,tag,value) will be done just before drawing it, so
  2112.           you can make an object which will draw different things when that tag
  2113.           value is changed. Setting this tag MUST NOT make the object being
  2114.           redrawn !!!
  2115.           <tag> and <value> must both be in hexadecimal (%lx).
  2116.         - if you use ;<tag>;<value> in one ESC sequence for an imgobj, you should
  2117.           use it everywhere you use that imgobj because there is no default for it.
  2118.         - The imgobj height will always be set to the entries height.
  2119.         - The mindefheight of imgobj will become the min height for entries.
  2120.         - Think it's still a new testing stuff...
  2121.  
  2122.         Note:
  2123.           Previously the object was disposed by NList at its end, actually a call
  2124.           to MUIM_NList_DeleteImage will REMMEMBER it, and so you have to dispose
  2125.           it yourself after !
  2126.  
  2127.         Look the demo program to see a way to use it...
  2128.  
  2129.  
  2130.     RESULT
  2131.         The result you get is a struct BitMapImage pointer which
  2132.         will exist between the MUIM_NList_CreateImage and
  2133.         MUIM_NList_DeleteImage, with a valid bitmap, width and
  2134.         height for the current screen.
  2135.  
  2136.         If you use it for a non Bitmap/Bodychunk object (or with flags
  2137.         set to ~0L) then the mask and imgbmp fields of the returned
  2138.         struct BitMapImage are not valid, and obtainpens is a pointer to
  2139.         the object.
  2140.  
  2141.         The only thing you should do with it is to include it in
  2142.         \33O[%08lx]. The result may be NULL in which case NList
  2143.         was unable to create the image, but the \33O[] combination
  2144.         simply draws nothing when receiving a NULL.
  2145.  
  2146.         ATTENTION:
  2147.         The returned pointer doesn't give the same structure than
  2148.         MUIM_List_CreateImage (in standard List class) would do :
  2149.         both are not compatible at all !
  2150.  
  2151.     SEE ALSO
  2152.         MUIM_NList_DeleteImage, MUIM_NList_UseImage
  2153. NList.mcc/MUIM_NList_DeleteImage
  2154.  
  2155.     NAME
  2156.         MUIM_NList_DeleteImage --
  2157.  
  2158.     SYNOPSIS
  2159.         DoMethod(obj,MUIM_NList_DeleteImage,APTR listimg);
  2160.  
  2161.     FUNCTION
  2162.         Same function as List.mui/MUIM_List_DeleteImage.
  2163.  
  2164.         Delete the image pointer returned from MUIM_NList_CreateImage.
  2165.         Read explains in MUIM_NList_CreateImage.
  2166.  
  2167.     SEE ALSO
  2168.         MUIM_NList_CreateImage, MUIM_NList_UseImage
  2169. NList.mcc/MUIM_NList_DoMethod
  2170.  
  2171.     NAME
  2172.         MUIM_NList_DoMethod --
  2173.  
  2174.     SYNOPSIS
  2175.         DoMethod(obj,MUIM_NList_DoMethod,LONG pos,
  2176.                       APTR DestObj,ULONG FollowParams,ULONG method,...);
  2177.  
  2178.     FUNCTION
  2179.         The given method will be executed for each selected entry, the
  2180.         active entry, all entries, or one specified entry of the NList
  2181.         object.
  2182.  
  2183.         Each DoMethod() can be done on the NList object, its _app object,
  2184.         a specified object, or the entry pointer if (and only if) it's
  2185.         an object.
  2186.  
  2187.         Following arguments can be automatically adjusted for each call
  2188.         using special values, like in the MUIM_Notify method (you must
  2189.         specified the numer of following argument too, as there will be
  2190.         copied in a temporary buffer - alloced in the stack).
  2191.  
  2192.     INPUTS
  2193.         pos -           the entry number for which you want to do the method.
  2194.  
  2195.           special values :
  2196.           MUIV_NList_DoMethod_Active    do it for the active entry.
  2197.           MUIV_NList_DoMethod_Selected  do it for all selected entries.
  2198.           MUIV_NList_DoMethod_All       do it
  2199.  
  2200.         DestObj -       the object on which the method will be done.
  2201.  
  2202.           special values :
  2203.           MUIV_NList_DoMethod_Entry     use entry pointer as target object for method.
  2204.           MUIV_NList_DoMethod_Self      use the NList object as target for method.
  2205.           MUIV_NList_DoMethod_App       use the _app(NList object) as target for method.
  2206.  
  2207.         FollowParams -  the number of following parameters (including "method").
  2208.                         (maximum 40 to prevent errors and stack overflow)
  2209.  
  2210.         method -        the method which will be done.
  2211.  
  2212.         ... -           the method parameters.
  2213.  
  2214.           special values :
  2215.           MUIV_NList_EntryValue         replaced by the "current" entry pointer.
  2216.           MUIV_NList_EntryPosValue      replaced by the "current" entry number.
  2217.           MUIV_NList_SelfValue          replaced by the NList object.
  2218.           MUIV_NList_AppValue           replaced by _app(NList object)
  2219.  
  2220.     NOTES
  2221.         Don't use this to do things on the NList object when a specific way
  2222.         to do it exists (don't use it to remove entries in the nlist object
  2223.         itself for example).
  2224.  
  2225.         When using it in a notification, MUIV_TriggerValue and MUIV_TriggerValue
  2226.         special values will be replaced by the notify superclass as usual.
  2227.  
  2228.     EXAMPLES
  2229.         Insert all entries from nlist L1 to nlist L2 :
  2230.  
  2231.         DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_All,
  2232.           L2, 3,
  2233.           MUIM_NList_InsertSingle, MUIV_NList_EntryValue, MUIV_NList_Insert_Bottom);
  2234.  
  2235.         (it would be better to make set(L2,MUIA_NList_Quiet,TRUE) before and
  2236.          set(L2,MUIA_NList_Quiet,FALSE) after when there are many entries...)
  2237.  
  2238.  
  2239.         If the entries of nlist L1 are objects (and only in that case), you can do
  2240.         that to call a method (MUIM_Foo,x) for each selected of them :
  2241.  
  2242.         DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_Selected,
  2243.           MUIV_NList_DoMethod_Entry, 2,
  2244.           MUIM_Foo,x);
  2245. NList.mcc/MUIM_NList_DropDraw
  2246.  
  2247.     NAME
  2248.         MUIM_NList_DropDraw --
  2249.  
  2250.     SYNOPSIS
  2251.         DoMethod(obj,MUIM_NList_DropDraw, LONG pos, LONG type,
  2252.                                           LONG minx,LONG maxx,LONG miny,LONG maxy);
  2253.  
  2254.     FUNCTION
  2255.         This method MUST NOT be called directly !
  2256.  
  2257.         It will be called by NList, and will draw the drop mark previously fixed
  2258.         (pos and type) by MUIM_NList_DropType within the minx, maxx, miny, maxy
  2259.         in the _rp(obj) rasport. You must not draw outside of the given box,
  2260.         because only the corresponding NList entry will be refreshed to erase what
  2261.         is drawn in that method.
  2262.  
  2263.         Calling the supermethod (so the builtin MUIM_NList_DropDraw method) will draw
  2264.         the standard dropmark specified by (type & MUIV_NList_DropType_Mask), so
  2265.         MUIV_NList_DropType_None,MUIV_NList_DropType_Above,MUIV_NList_DropType_Below
  2266.         or MUIV_NList_DropType_Onto.
  2267.  
  2268.         You can draw directly in the rastport (or a clone of it) in that method,
  2269.         because it will be called from the Draw method within the DragReport in
  2270.         Refresh mode.
  2271.  
  2272.     SEE ALSO
  2273.         MUIM_NList_DropType, MUIA_NList_DropType, MUIA_NList_DropMark,
  2274.         MUIM_NList_DropEntryDrawErase
  2275. NList.mcc/MUIM_NList_DropEntryDrawErase
  2276.  
  2277.     NAME
  2278.         MUIM_NList_DropEntryDrawErase --
  2279.  
  2280.     SYNOPSIS
  2281.         DoMethod(obj,MUIM_NList_DropEntryDrawErase,LONG type,LONG drawpos,LONG erasepos);
  2282.  
  2283.     FUNCTION
  2284.         This method MUST NOT be called directly !
  2285.  
  2286.         It will be called by NList while the DragReport just before the redraw
  2287.         which will draw a new mark or erase the old one.
  2288.  
  2289.         This method can be used to change something so your displayhook will return
  2290.         something different for the marked entry, like changing its color or making
  2291.         it bold or italic.
  2292.  
  2293.         Don't call the superclass unless you know that the superclass use it.
  2294.  
  2295.         You should return 0.
  2296.  
  2297.     INPUTS
  2298.         type has the same meaning as *type in MUIM_NList_DropType, it will be useless
  2299.         in most cases (and has no meanning at all for erasepos).
  2300.  
  2301.         drawpos is the entry number which will be draw with a dropmark, -1 mean none.
  2302.  
  2303.         erasepos is the entry number which is not any more the dropmark one, -1 mean none.
  2304.  
  2305.     SEE ALSO
  2306.         MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark
  2307. NList.mcc/MUIM_NList_DropType
  2308.  
  2309.     NAME
  2310.         MUIM_NList_DropType --
  2311.  
  2312.     SYNOPSIS
  2313.         DoMethod(obj,MUIM_NList_DropType, LONG *pos,LONG *type,
  2314.                                           LONG minx,LONG maxx,LONG miny,LONG maxy,
  2315.                                           LONG mousex,LONG mousey);
  2316.  
  2317.     FUNCTION
  2318.         This method MUST NOT be called directly !
  2319.  
  2320.         It will be called by NList while the DragReport, with default *pos and *type
  2321.         values depending on the drag pointer position that you can modify as you want.
  2322.  
  2323.         Default *type can be MUIV_NList_DropType_Above or MUIV_NList_DropType_Below.
  2324.         You can change it to any of MUIV_NList_DropType_None,MUIV_NList_DropType_Above,
  2325.         MUIV_NList_DropType_Below and MUIV_NList_DropType_Onto if you want, using
  2326.         the mouse position and the entry box.
  2327.  
  2328.         You can make you own *type value as soon as you don't set it in
  2329.         MUIV_NList_DropType_Mask, and so draw what you want depending on that value
  2330.         in the MUIM_NList_DropDraw method.
  2331.  
  2332.         Note that any MUIV_NList_DropType_Below *type will be changed to
  2333.         MUIV_NList_DropType_Above with a *pos incremented by 1 just after the
  2334.         return of that method.
  2335.  
  2336.         If you change the *pos, the list will be scrolled to see it (if the value is
  2337.         correct).
  2338.  
  2339.         getting MUIA_NList_DropType or MUIA_NList_DropMark will return the same values
  2340.         as *pos and *type.
  2341.  
  2342.         If your subclass is a direct NList subclass, then there is no need to call
  2343.         the supermethod which done nothing at all !
  2344.  
  2345.     SEE ALSO
  2346.         MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark,
  2347.         MUIM_NList_DropEntryDrawErase
  2348. NList.mcc/MUIM_NList_Exchange
  2349.  
  2350.     NAME
  2351.         MUIM_NList_Exchange --
  2352.  
  2353.     SYNOPSIS
  2354.         DoMethod(obj,MUIM_NList_Exchange,LONG pos1, LONG pos2);
  2355.  
  2356.     FUNCTION
  2357.         Same function as List.mui/MUIM_List_Exchange.
  2358.  
  2359.         Exchange two entries in a NList object.
  2360.  
  2361.     INPUTS
  2362.         pos1 - number of the first entry.
  2363.         pos2 - number of the second entry.
  2364.  
  2365.         MUIV_NList_Exchange_Top
  2366.         MUIV_NList_Exchange_Active
  2367.         MUIV_NList_Exchange_Bottom
  2368.         MUIV_NList_Exchange_Next      only valid for second parameter
  2369.         MUIV_NList_Exchange_Previous  only valid for second parameter
  2370.  
  2371.     SEE ALSO
  2372.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Move
  2373. NList.mcc/MUIM_NList_GetEntry
  2374.  
  2375.     NAME
  2376.         MUIM_NList_GetEntry --
  2377.  
  2378.     SYNOPSIS
  2379.         DoMethod(obj,MUIM_NList_GetEntry,LONG pos, APTR *entry);
  2380.  
  2381.     FUNCTION
  2382.         Same function as List.mui/MUIM_List_GetEntry.
  2383.  
  2384.     SPECIAL INPUTS
  2385.         MUIV_NList_GetEntry_Active    give active entry (or NULL if none)
  2386.  
  2387.     SEE ALSO
  2388.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_GetEntryInfo
  2389. NList.mcc/MUIM_NList_GetEntryInfo
  2390.  
  2391.     NAME
  2392.         MUIM_NList_GetEntryInfo --
  2393.  
  2394.     SYNOPSIS
  2395.         DoMethod(obj,MUIM_NList_GetEntryInfo,struct MUI_NList_GetEntryInfo *res);
  2396.  
  2397.     FUNCTION
  2398.         You get usefull informations about some entry from its number,
  2399.         or from the real line number which can be different when there
  2400.         is word wrap in the list.
  2401.  
  2402.     INPUTS
  2403.         res - pointer to a MUI_NList_GetEntryInfo struct :
  2404.               LONG pos;       number of entry you want info about */
  2405.               LONG line;      real line number */
  2406.               LONG entry_pos; entry number of returned entry ptr */
  2407.               APTR entry;     entry pointer */
  2408.               LONG wrapcol;   NOWRAP, WRAPCOLx, or WRAPPED|WRAPCOLx */
  2409.               LONG charpos;   start char number in string (unused if NOWRAP) */
  2410.               LONG charlen;   string lenght (unused if NOWRAP) */
  2411.  
  2412.               if pos is MUIV_NList_GetEntryInfo_Line then the method will
  2413.               use the line number to search infos, else line will be set
  2414.               to its correct number for the value of pos.
  2415.               entry is the entry ptr, think that if it's a word wrapped
  2416.               entry then it come from the returned entry_pos entry.
  2417.               Think too that if wrapcol tell you that it's a WRAPPED entry,
  2418.               only the WRAPCOLx col is drawn, from the charpos position
  2419.               in the string returned by DisplayHook for the column and for
  2420.               entry_pos/entry.
  2421.  
  2422.     SEE ALSO
  2423.         MUIM_NList_GetEntry
  2424. NList.mcc/MUIM_NList_GetPos
  2425.  
  2426.     NAME
  2427.         MUIM_NList_GetPos --
  2428.  
  2429.     SYNOPSIS
  2430.         DoMethod(obj,MUIM_NList_GetPos,APTR entry,LONG *pos);
  2431.  
  2432.     FUNCTION
  2433.         Give the (next) entry number which have the given entry number.
  2434.         It's the entry ptr which is stored in the list, ie the one returned
  2435.         by the ConstructHook if any.
  2436.  
  2437.     INPUTS
  2438.         entry - Entry ptr of the entry you want to get the pos.
  2439.  
  2440.         pos - a pointer to longword that will hold the next entry number
  2441.               of the given entry ptr. Must be set to MUIV_NList_GetPos_Start
  2442.               if you want to search from the beginning of the list.
  2443.               Is set to MUIV_NList_GetPos_End no more is found.
  2444.  
  2445.  
  2446. NList.mcc/MUIM_NList_GetSelectInfo
  2447.  
  2448.     NAME
  2449.         MUIM_NList_GetSelectInfo --
  2450.  
  2451.     SYNOPSIS
  2452.         DoMethod(obj,MUIM_NList_GetSelectInfo,struct MUI_NList_GetSelectInfo *res);
  2453.  
  2454.     FUNCTION
  2455.         You get usefull informations about selected entries state.
  2456.  
  2457.     INPUTS
  2458.         res - pointer to a MUI_NList_GetSelectInfo struct :
  2459.             LONG start        num of first selected *REAL* entry/line (first of wrapped from which start is issued)
  2460.             LONG end          num of last selected *REAL* entry/line (first of wrapped from which start is issued)
  2461.             LONG num          not used
  2462.             LONG start_column column of start of selection in 'start' entry
  2463.             LONG end_column   column of end of selection in 'end' entry
  2464.             LONG start_pos    char pos of start of selection in 'start_column' entry
  2465.             LONG end_pos      char pos of end of selection in 'end_column' entry
  2466.             LONG vstart       num of first visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
  2467.             LONG vend         num of last visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
  2468.             LONG vnum         number of visually selected entries
  2469.  
  2470.     NOTE
  2471.         If no entry is selected, then start, end, vstart, vend are -1, vnum is 0.
  2472.  
  2473.         When start_column, end_column, start_pos, end_pos are -1 then the whole line/entry/column
  2474.         is selected.
  2475.  
  2476.         start_column, end_columb, start_pos and end_pos have the same meaning than
  2477.         parameters passed to the MUIA_NList_CopyEntryToClipHook.
  2478.  
  2479.         remember than in case of automatically added word wrapped entries, only
  2480.         the concerned column have any contents. You get that case for 'vstart'
  2481.         when 'start' is different, and for 'end' when 'vend' is different.
  2482. NList.mcc/MUIM_NList_Insert
  2483.  
  2484.     NAME
  2485.         MUIM_NList_Insert --
  2486.  
  2487.     SYNOPSIS
  2488.         DoMethod(obj,MUIM_NList_Insert,APTR *entries, LONG count, LONG pos);
  2489.  
  2490.     FUNCTION
  2491.         Same function as List.mui/MUIM_List_Insert.
  2492.  
  2493.         Entry (display) contents will be display until \0 , \n or \r.
  2494.  
  2495.         You can insert a multiline string with count==-2.
  2496.  
  2497.     INPUTS
  2498.         entries - pointer to an array of pointers to be inserted.
  2499.                   Warning: This is a pointer to a pointer.
  2500.  
  2501.                   It's a pointer to string if count==-2.
  2502.  
  2503.         count   - Number of elements to be inserted. If count==-1,
  2504.                   entries will be inserted until NULL pointer in
  2505.                   the entries array is found.
  2506.  
  2507.                   If count==-2 then entries must be a string pointer
  2508.                   which can be multiline with \n , \r or \r\n separators.
  2509.                   You'll get as many entries inserted as lines in the string.
  2510.                   The end char is \0.
  2511.  
  2512.         pos     - New entries will be added in front of this entry.
  2513.                 MUIV_NList_Insert_Top     insert as first entry.
  2514.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2515.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2516.                                           sorted if necessary).
  2517.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2518.  
  2519.     SEE ALSO
  2520.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_InsertSingle
  2521.         MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
  2522. NList.mcc/MUIM_NList_InsertSingle
  2523.  
  2524.     NAME
  2525.         MUIM_NList_InsertSingle --
  2526.  
  2527.     SYNOPSIS
  2528.         DoMethod(obj,MUIM_NList_InsertSingle,APTR entry, LONG pos);
  2529.  
  2530.     FUNCTION
  2531.         Same function as List.mui/MUIM_List_InsertSingle.
  2532.  
  2533.     INPUTS
  2534.         entry   - item to insert.
  2535.  
  2536.         pos     - New entry will be added in front of this entry.
  2537.                 MUIV_NList_Insert_Top     insert as first entry.
  2538.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2539.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2540.                                           sorted if necessary).
  2541.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2542.  
  2543.     SEE ALSO
  2544.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2545.         MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
  2546. NList.mcc/MUIM_NList_InsertSingleWrap
  2547.  
  2548.     NAME
  2549.         MUIM_NList_InsertSingleWrap --
  2550.  
  2551.     SYNOPSIS
  2552.         DoMethod(obj,MUIM_NList_InsertSingleWrap,
  2553.                       APTR entry, LONG pos, LONG wrapcol, LONG align);
  2554.  
  2555.     FUNCTION
  2556.         Same function as MUIM_NList_InsertSingle but permit word wrap
  2557.         and alignement for the entry.
  2558.  
  2559.     INPUTS
  2560.         entry   - item to insert.
  2561.  
  2562.         pos     - New entry will be added in front of this entry.
  2563.                 MUIV_NList_Insert_Top     insert as first entry.
  2564.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2565.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2566.                                           sorted if necessary).
  2567.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2568.  
  2569.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2570.                 other col. NOWRAP if you don't want word wrap.
  2571.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2572.  
  2573.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2574.                 be aware that align will be used if there is no escape
  2575.                 align sequence in the preparses or column entry string.
  2576.  
  2577.     SEE ALSO
  2578.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2579.         MUIM_NList_InsertSingle, MUIM_NList_InsertWrap
  2580. NList.mcc/MUIM_NList_InsertWrap
  2581.  
  2582.     NAME
  2583.         MUIM_NList_InsertWrap --
  2584.  
  2585.     SYNOPSIS
  2586.         DoMethod(obj,MUIM_NList_InsertWrap, APTR *entries,
  2587.                       LONG count, LONG pos, LONG wrapcol, LONG align);
  2588.  
  2589.     FUNCTION
  2590.         Same function as MUIM_NList_Insert but permit word wrap and
  2591.         alignement for the entry.
  2592.  
  2593.     INPUTS
  2594.         entries - pointer to an array of pointers to be inserted.
  2595.                   Warning: This is a pointer to a pointer.
  2596.  
  2597.                   It's a pointer to string if count==-2.
  2598.  
  2599.         count   - Number of elements to be inserted. If count==-1,
  2600.                   entries will be inserted until NULL pointer in
  2601.                   the entries array is found.
  2602.  
  2603.                   If count==-2 then entries must be a string pointer
  2604.                   which can be multiline with \n , \r or \r\n separators.
  2605.                   You'll get as many entries inserted as lines in the string.
  2606.                   The end char is \0.
  2607.  
  2608.         pos     - New entry will be added in front of this entry.
  2609.                 MUIV_NList_Insert_Top     insert as first entry.
  2610.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2611.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2612.                                           sorted if necessary).
  2613.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2614.  
  2615.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2616.                 other col. NOWRAP if you don't want word wrap.
  2617.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2618.  
  2619.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2620.                 be aware that align will be used if there is no escape
  2621.                 align sequence in the preparses or column entry string.
  2622.  
  2623.     SEE ALSO
  2624.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2625.         MUIM_NList_InsertSingle, MUIM_NList_InsertSingleWrap
  2626. NList.mcc/MUIM_NList_Jump
  2627.  
  2628.     NAME
  2629.         MUIM_NList_Jump --
  2630.  
  2631.     SYNOPSIS
  2632.         DoMethod(obj,MUIM_NList_Jump,LONG pos);
  2633.  
  2634.     FUNCTION
  2635.         Same function as List.mui/MUIM_List_Jump.
  2636.  
  2637.     INPUTS
  2638.         pos - Number of the entry that should be made visible.
  2639.               Use MUIV_NList_Jump_Active to jump to the active
  2640.               entry.
  2641.  
  2642.     SEE ALSO
  2643.         MUIA_NList_Active, MUIA_NList_First
  2644. NList.mcc/MUIM_NList_Move
  2645.  
  2646.     NAME
  2647.         MUIM_NList_Move --
  2648.  
  2649.     SYNOPSIS
  2650.         DoMethod(obj,MUIM_NList_Move,LONG from, LONG to);
  2651.  
  2652.     FUNCTION
  2653.         Same function as List.mui/MUIM_List_Move.
  2654.  
  2655.     INPUTS
  2656.         pos1 - number of the first entry.
  2657.         pos2 - number of the second entry.
  2658.  
  2659.         Possible special values :
  2660.  
  2661.         MUIV_NList_Move_Top
  2662.         MUIV_NList_Move_Active
  2663.         MUIV_NList_Move_Bottom
  2664.         MUIV_NList_Move_Next        only valid for second parameter
  2665.                                     if first one is not Move_Selected
  2666.         MUIV_NList_Move_Previous    only valid for second parameter
  2667.                                     if first one is not Move_Selected
  2668.         MUIV_NList_Move_Selected    only valid for first parameter
  2669.  
  2670.     SEE ALSO
  2671.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Exchange
  2672. NList.mcc/MUIM_NList_NextSelected
  2673.  
  2674.     NAME
  2675.         MUIM_NList_NextSelected --
  2676.  
  2677.     SYNOPSIS
  2678.         DoMethod(obj,MUIM_NList_NextSelected,LONG *pos);
  2679.  
  2680.     FUNCTION
  2681.         Same function as List.mui/MUIM_List_NextSelected.
  2682.  
  2683.         In TypeSelect_Char mode you'll get all entries of the selected
  2684.         area, even the first and last which can be very partially selected.
  2685.  
  2686.     INPUTS
  2687.         pos - a pointer to longword that will hold the number
  2688.               of the returned entry. Must be set to
  2689.               MUIV_NList_NextSelected_Start at start of iteration.
  2690.               Is set to MUIV_NList_NextSelected_End when iteration
  2691.               is finished.
  2692.  
  2693.     SEE ALSO
  2694.         MUIM_NList_Select, MUIM_NList_PrevSelected
  2695. NList.mcc/MUIM_NList_PrevSelected
  2696.  
  2697.     NAME
  2698.         MUIM_NList_PrevSelected --
  2699.  
  2700.     SYNOPSIS
  2701.         DoMethod(obj,MUIM_NList_PrevSelected,LONG *pos);
  2702.  
  2703.     FUNCTION
  2704.         Work like MUIM_NList_NextSelected but give previous selected entry.
  2705.  
  2706.         In TypeSelect_Char mode you'll get all entries of the selected
  2707.         area, even the first and last which can be very partially selected.
  2708.  
  2709.     INPUTS
  2710.         pos - a pointer to longword that will hold the number
  2711.               of the returned entry. Must be set to
  2712.               MUIV_NList_PrevSelected_Start at start of iteration.
  2713.               Is set to MUIV_NList_PrevSelected_End when iteration
  2714.               is finished.
  2715.  
  2716.     SEE ALSO
  2717.         MUIM_NList_Select, MUIM_NList_NextSelected
  2718. NList.mcc/MUIM_NList_Redraw
  2719.  
  2720.     NAME
  2721.         MUIM_NList_Redraw --
  2722.  
  2723.     SYNOPSIS
  2724.         DoMethod(obj,MUIM_NList_Redraw,LONG pos);
  2725.  
  2726.     FUNCTION
  2727.         Same function as List.mui/MUIM_List_Redraw.
  2728.         Redraw some entry or all.
  2729.  
  2730.     INPUTS
  2731.         pos - Number of the line to redraw. When the line is not
  2732.               currently visible, nothing will happen. Specials:
  2733.               MUIV_NList_Redraw_Active   redraw the active line (if any),
  2734.               MUIV_NList_Redraw_All      redraw all lines.
  2735.               MUIV_NList_Redraw_Title    redraw the title.
  2736.  
  2737.     SEE ALSO
  2738.         MUIM_NList_RedrawEntry
  2739. NList.mcc/MUIM_NList_RedrawEntry
  2740.  
  2741.     NAME
  2742.         MUIM_NList_RedrawEntry --
  2743.  
  2744.     SYNOPSIS
  2745.         DoMethod(obj,MUIM_NList_RedrawEntry,APTR entry);
  2746.  
  2747.     FUNCTION
  2748.         Redraw some entry, like MUIM_NList_Redraw, but using the entry
  2749.         pointer instead of the entry number.
  2750.  
  2751.     INPUTS
  2752.         entry - Entry ptr of the entry (entries) you want to be redraw.
  2753.  
  2754.     SEE ALSO
  2755.         MUIM_NList_Redraw
  2756. NList.mcc/MUIM_NList_Remove
  2757.  
  2758.     NAME
  2759.         MUIM_NList_Remove --
  2760.  
  2761.     SYNOPSIS
  2762.         DoMethod(obj,MUIM_NList_Remove,LONG pos);
  2763.  
  2764.     FUNCTION
  2765.         Same function as List.mui/MUIM_List_Remove.
  2766.  
  2767.     INPUTS
  2768.         pos - number of the entry to be removed or one of
  2769.               MUIV_NList_Remove_First
  2770.               MUIV_NList_Remove_Active
  2771.               MUIV_NList_Remove_Selected
  2772.               MUIV_NList_Remove_Last
  2773.               When the active or a selected entry is removed,
  2774.               the following entry will become active.
  2775.               When the active is the removed and is the last,
  2776.               the new last become active.
  2777.  
  2778.     SEE ALSO
  2779.         MUIM_NList_Insert, MUIA_NList_DestructHook
  2780. NList.mcc/MUIM_NList_ReplaceSingle
  2781.  
  2782.     NAME
  2783.         MUIM_NList_ReplaceSingle --
  2784.  
  2785.     FUNCTION
  2786.         DoMethod(obj,MUIM_NList_ReplaceSingle,
  2787.                       APTR entry, LONG pos, LONG wrapcol, LONG align);
  2788.  
  2789.     FUNCTION
  2790.         Same function as MUIM_NList_InsertSingleWrap but replace an existing
  2791.         entry rather than inserting.
  2792.         It's better to do a direct replace than remove then insert it !
  2793.  
  2794.     INPUTS
  2795.         entry   - item to insert.
  2796.  
  2797.         pos     - New entry will be added in front of this entry.
  2798.                 MUIV_NList_Insert_Top     insert as first entry.
  2799.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2800.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2801.                                           sorted if necessary).
  2802.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2803.  
  2804.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2805.                 other col. NOWRAP if you don't want word wrap.
  2806.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2807.  
  2808.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2809.                 be aware that align will be used if there is no escape
  2810.                 align sequence in the preparses or column entry string.
  2811.  
  2812.     SEE ALSO
  2813.         MUIM_NList_Remove, MUIM_NList_InsertSingleWrap
  2814. NList.mcc/MUIM_NList_Select
  2815.  
  2816.     NAME
  2817.         MUIM_NList_Select --
  2818.  
  2819.     SYNOPSIS
  2820.         DoMethod(obj,MUIM_NList_Select,LONG pos, LONG seltype, LONG *state);
  2821.  
  2822.     FUNCTION
  2823.         Same function as List.mui/MUIM_List_Select when in TypeSelect_Line mode.
  2824.  
  2825.         In TypeSelect_Char mode, MUIV_NList_Select_Off will clear the selected
  2826.         area (don't look what is pos). MUIV_NList_Select_On will select the
  2827.         pos entry only (can be MUIV_NList_Select_Active or MUIV_NList_Select_All).
  2828.         MUIV_NList_Select_Ask will give the number off entry in the selected area.
  2829.  
  2830.     INPUTS
  2831.  
  2832.         pos     - Number of the entry or
  2833.                   MUIV_NList_Select_Active  for the active entry.
  2834.                   MUIV_NList_Select_All     for all entries.
  2835.  
  2836.         seltype - MUIV_NList_Select_Off     unselect entry.
  2837.                   MUIV_NList_Select_On      select entry.
  2838.                   MUIV_NList_Select_Toggle  toggle entry.
  2839.                   MUIV_NList_Select_Ask     just ask about the state.
  2840.  
  2841.         state   - Pointer to a longword. If not NULL, this will
  2842.                   be filled with the current selection state.
  2843.  
  2844.     SEE ALSO
  2845.         MUIA_NList_TypeSelect, MUIA_NList_MultiTestHook
  2846. NList.mcc/MUIM_NList_SetColumnCol
  2847.  
  2848.     NAME
  2849.         MUIM_NList_SetColumnCol --
  2850.  
  2851.     SYNOPSIS
  2852.         DoMethod(obj,MUIM_NList_SetColumnCol,LONG column,LONG col);
  2853.  
  2854.     FUNCTION
  2855.         set which displayhook col is at the visible column.
  2856.  
  2857.     INPUTS
  2858.         column  number of the column (visible).
  2859.                 if MUIV_NList_SetColumnCol_Default then the given (diplayhook) col
  2860.                 will come back to its default/original (from List_Format) position.
  2861.  
  2862.         col     col number (displayhook one).
  2863.                 if MUIV_NList_SetColumnCol_Default then the given visible column
  2864.                 will come back to its default/original (from List_Format) position.
  2865.  
  2866.  
  2867.                 both set to MUIV_NList_SetColumnCol_Default make all columns
  2868.                 come back to their default/original (from List_Format) position.
  2869.  
  2870.     RESULT
  2871.         None.
  2872.  
  2873.     NOTE
  2874.         MUIM_NList_SetColumnCol always exchange the moved column with the column
  2875.         which was were it move.
  2876.  
  2877.     SEE ALSO
  2878.         MUIM_NList_ColToColumn, MUIM_NList_ColumnToCol, MUIA_NList_Columns
  2879. NList.mcc/MUIM_NList_Sort
  2880.  
  2881.     NAME
  2882.         MUIM_NList_Sort --
  2883.  
  2884.     SYNOPSIS
  2885.         DoMethod(obj,MUIM_NList_Sort);
  2886.  
  2887.     FUNCTION
  2888.         Same function as List.mui/MUIM_List_Sort.
  2889.  
  2890.     SEE ALSO
  2891.         MUIA_NList_CompareHook, MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIM_NList_Sort3,
  2892.         MUIA_NList_SortType, MUIA_NList_SortType2
  2893. NList.mcc/MUIM_NList_Sort2
  2894.  
  2895.     NAME
  2896.         MUIM_NList_Sort2 --
  2897.  
  2898.     SYNOPSIS
  2899.         DoMethod(obj,MUIM_NList_Sort2,LONG sort_type, LONG sort_type_add);
  2900.  
  2901.     FUNCTION
  2902.         Same function as MUIM_NList_Sort but will set MUIA_NList_SortType
  2903.         before starting the sort.
  2904.  
  2905.         It is really usefull only if you use MUIA_NList_CompareHook2 instead
  2906.         of classic MUIA_NList_CompareHook so your hook will be able to do
  2907.         different type of sort when NList_SortType change.
  2908.  
  2909.     INPUTS
  2910.         sort_type     - The new MUIA_NList_SortType value (see below).
  2911.  
  2912.         sort_type_add - If 0 then sort_type will be the new MUIA_NList_SortType,
  2913.                         else if current MUIA_NList_SortType & MUIV_NList_SortTypeValue_Mask
  2914.                         is same as sort_type then sort_type_add will be added to the
  2915.                         MUIA_NList_SortType value,
  2916.                         else sort_type will be the new MUIA_NList_SortType.
  2917.  
  2918.                         See examples for special values.
  2919.  
  2920.     EXAMPLES
  2921.         Many times this method will be used to sort multicolumn list in different
  2922.         ways when the user click on title buttons :
  2923.  
  2924.         DoMethod(list,MUIM_Notify,MUIA_NList_TitleClick, MUIV_EveryTime,
  2925.           list, 3, MUIM_NList_Sort2, MUIV_TriggerValue, MUIV_NList_SortTypeAdd_xxx);
  2926.  
  2927.         if MUIV_NList_SortTypeAdd_None    then the hook sort_type value will be the column
  2928.                                           number.
  2929.         if MUIV_NList_SortTypeAdd_2Values then the hook sort_type value will be a cycle of
  2930.                                           values which change on each click :
  2931.                                           o Column number  (first time)
  2932.                                           o Column number + MUIV_NList_SortTypeAdd_2Values
  2933.                                           o back to column number ...
  2934.  
  2935.         if MUIV_NList_SortTypeAdd_4Values then the hook sort_type value will be a cycle of
  2936.                                           values which change on each click :
  2937.                                           o Column number  (first time)
  2938.                                           o Column number + MUIV_NList_SortTypeAdd_4Values
  2939.                                           o Column number + MUIV_NList_SortTypeAdd_4Values*2
  2940.                                           o Column number + MUIV_NList_SortTypeAdd_4Values*3
  2941.                                           o back to column number ...
  2942.         See NList-Demo program.
  2943.  
  2944.     SEE ALSO
  2945.         MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIM_NList_Sort3, MUIA_NList_SortType,
  2946.         MUIA_NList_SortType2
  2947. NList.mcc/MUIM_NList_Sort3
  2948.  
  2949.     NAME
  2950.         MUIM_NList_Sort3 --
  2951.  
  2952.     SYNOPSIS
  2953.         DoMethod(obj,MUIM_NList_Sort3,LONG sort_type, LONG sort_type_add, LONG which);
  2954.  
  2955.     FUNCTION
  2956.         Same function as MUIM_NList_Sort2 but will set MUIA_NList_SortType,
  2957.         MUIA_NList_SortType2 or both before starting the sort.
  2958.  
  2959.         When using MUIV_NList_Sort3_SortType_Both the method will change
  2960.         MUIA_NList_SortType exactly the same way as MUIM_NList_Sort2 would do
  2961.         it, then copy that value to MUIA_NList_SortType2.
  2962.  
  2963.         It is really usefull only if you use MUIA_NList_CompareHook2 instead
  2964.         of classic MUIA_NList_CompareHook so your hook will be able to do
  2965.         different type of sort when NList_SortType change.
  2966.  
  2967.     INPUTS
  2968.         sort_type     - The new MUIA_NList_SortType/2 value.
  2969.  
  2970.         sort_type_add - If 0 then sort_type will be the new MUIA_NList_SortType/2,
  2971.                         else if current MUIA_NList_SortType/2 & MUIV_NList_SortTypeValue_Mask
  2972.                         is same as sort_type then sort_type_add will be added to the
  2973.                         MUIA_NList_SortType/2 value,
  2974.                         else sort_type will be the new MUIA_NList_SortType/2.
  2975.  
  2976.         which         - MUIV_NList_Sort3_SortType_1      set MUIA_NList_SortType value.
  2977.                         MUIV_NList_Sort3_SortType_2      set MUIA_NList_SortType2 value.
  2978.                         MUIV_NList_Sort3_SortType_Both   set MUIA_NList_SortType value
  2979.                                                          then copy it to MUIA_NList_SortType2.
  2980.  
  2981.     EXAMPLES
  2982.         See NList-Demo program.
  2983.  
  2984.     SEE ALSO
  2985.         MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIM_NList_Sort2, MUIA_NList_SortType,
  2986.         MUIA_NList_SortType2
  2987. NList.mcc/MUIM_NList_TestPos
  2988.  
  2989.     NAME
  2990.         MUIM_NList_TestPos --
  2991.  
  2992.     SYNOPSIS
  2993.         DoMethod(obj,MUIM_NList_TestPos,LONG x, LONG y, struct MUI_NList_TestPos_Result *res);
  2994.  
  2995.     FUNCTION
  2996.         Find out which informations of a list which is currently
  2997.         displayed at a certain position.
  2998.  
  2999.         You must give a pointer to a valid MUI_NList_TestPos_Result struct.
  3000.  
  3001.         Set x AND y to MUI_MAXMAX to get infos about the last click position !
  3002.  
  3003.         See NList_mcc.h to know what values will be set in the struct.
  3004.  
  3005.         Preset char_number to -2 in the struct to not get char_number and char_xoffset
  3006.         informations. It's usefull if you don't need them because it will be
  3007.         faster for the method without finding them. the -2 value will stay valid
  3008.         for next call.
  3009.  
  3010.         You'll get char number from what you return from the DisplayHook if there is
  3011.         one, else from the beginning of the string/entry ptr.
  3012.  
  3013.         Be aware: if you use MUIM_List_TestPos you have to give a pointer to a
  3014.         struct MUI_List_TestPos_Result, and you'll get same infos as using a List object.
  3015.         It wasn't done as is before, makeing enforcer hits when trying to use NList
  3016.         or NFloattext with a Listview instead of a NListview (avoid it please, it's not
  3017.         done for it as Listview try to make many things itself, with possible conficts),
  3018.         because struct MUI_NList_TestPos_Result is bigger !!!
  3019.  
  3020.     NOTE
  3021.         column in the struct MUI_NList_TestPos_Result is the visible column number !
  3022. NList.mcc/MUIM_NList_UseImage
  3023.  
  3024.     NAME
  3025.         MUIM_NList_UseImage --
  3026.  
  3027.     SYNOPSIS
  3028.         DoMethod(obj,MUIM_NList_UseImage,Object *obj, ULONG imgnum, ULONG flags);
  3029.  
  3030.     FUNCTION
  3031.         If you want to use MUIM_NList_CreateImage/MUIM_NList_DeleteImage
  3032.         as you should, you must make a NList subclass which call them
  3033.         from Setup() and Cleanup(), and it's sometime complicated.
  3034.  
  3035.         To avoid that, you can use MUIM_NList_UseImage. NList will
  3036.         store the Bitmap/Bodychunk object you give and will make
  3037.         CreateImage and DeleteImage itself !
  3038.  
  3039.         MUIM_NList_UseImage can use same object as MUIM_NList_CreateImage !
  3040.  
  3041.         NULL is a valid obj. It will erase any previously UseImage
  3042.         with the same imgnum.
  3043.  
  3044.         The imgnum you give is the number that you will use in
  3045.         \33o[<n>] sequence as the <n> number.
  3046.         MUIM_NList_UseImage will accept 0 <= imgnum < 8192, anyway
  3047.         use small value if you can because an array will be allocated
  3048.         with the biggest imgnum value as size to store the
  3049.         Bitmap/Bodychunk objects.
  3050.  
  3051.         DoMethod(obj,MUIM_NList_UseImage,NULL, -1, 0) will set NULL to
  3052.         all stored objects, so you'll be able to dispose your
  3053.         Bitmap/Bodychunk objects if you want, without waiting the NList
  3054.         objet dispose.
  3055.  
  3056.         flags is the same than for MUIM_NList_CreateImage (0 unless special case).
  3057.  
  3058.     RESULT
  3059.         TRUE if succeeded to store the obj (and allocate the array
  3060.         if needed), else FALSE.
  3061.  
  3062.         There is no way to know if the MUIM_NList_CreateImage
  3063.         needed to draw will succeed/has succeeded.
  3064.  
  3065.         ATTENTION:
  3066.         The given Bitmap/Bodychunk object MUST be valid until the
  3067.         NList object is disposed or you set another object (or NULL)
  3068.         at the same imgnum !
  3069.         The Bitmap/Bodychunk object can be shared with other NList
  3070.         object because NList just use it to get informations, anyway
  3071.         you mustn't change informations of that object. If you to do
  3072.         so, do a UseImage,NULL,x , change it then do UseImage,imgobj,x
  3073.         again.
  3074.  
  3075.     SEE ALSO
  3076.         MUIM_NList_CreateImage, MUIM_NList_DeleteImage
  3077.